Tag: 嵌套类

将嵌套类inheritance到子类中

当我阅读这篇文章时,在超类的私人成员部分,我看到了这一行 嵌套类可以访问其封闭类的所有私有成员 – 包括字段和方法。 因此,子类inheritance的公共或受保护嵌套类可以间接访问超类的所有私有成员。 我的问题是我们如何直接访问Derived的Nested类Base (就像我们可以访问任何public protected字段一样)? 和 如果有办法, Derived如何通过Nested访问哪个是Base私有字段? public class Base { protected int f; private int p; public class Nested { public int getP() { return p; } } } class Derived extends Base { public void newMethod() { System.out.println(f); // i understand inheriting protected field // how to access the […]

为什么外部类不能扩展内部类?

为什么我不能这样做/是否有解决方法来完成此任务: package myPackage; public class A { public class B { } } package myPackage; import myPackage.AB; public class C extends B { } package myPackage; public class Main { public static void main(String[] args) { A myA = new A(); C myC = myA.new C(); } } 两个编译错误是 在public class C extends B , […]

何时使用嵌套类?

下面的代码将找到2行的交集并返回点对象。 如果只有IntersectionOf2Lines类创建point,我应该指出一个嵌套类吗? 如果不是那么为什么不呢? 谢谢 class Point { private final int x; private final int y; public Point(int x, int y) { this.x = x; this.y = y; } int getX() { return x; } int getY() { return y; } } public class IntersectionOf2Lines { public static Point calculateIntersection(Line line1, Line line2) { int x […]

为什么外部类在java中不是静态的?

在java中,外部类可以是public,final,default或abstract。 为什么不像静态一样 public static class MyClass{}

接口内的嵌套类

java编译器允许我在接口内编写一个Class定义。 这有什么具体用途吗? interface ClassInterface { void returnSomething(); int x = 10; class SomeClass { private int y; private void classDoingSomething() { } } } 请解释 。

将嵌套类放在单独的文件中

我有一个嵌套类的文件,但它变得足够长,不可读。 有没有办法可以将嵌套类分解为单独的文件?

嵌套类的构造函数的问题

这个问题是关于Java的有趣行为:它在某些情况下为嵌套类生成了额外的(非默认的)构造函数。 这个问题也是关于奇怪的匿名类,Java用这个奇怪的构造函数生成。 请考虑以下代码: package a; import java.lang.reflect.Constructor; public class TestNested { class A { A() { } A(int a) { } } public static void main(String[] args) { Class aClass = A.class; for (Constructor c : aClass.getDeclaredConstructors()) { System.out.println(c); } } } 这将打印: a.TestNested$A(a.TestNested) a.TestNested$A(a.TestNested,int) 好。 接下来,让构造函数A(int a)私有: private A(int a) { } 再次运行程序。 接收: […]

为什么允许实例化静态嵌套类对象?

我已经开始学习用于Android应用程序开发的Java语言。 根据我对静态类的理解,我们无法实例化静态类的对象。 但是为什么静态嵌套类对象的实例化允许在后面的situaltion? class EnclosingClass { //… class static StaticInnerClass { //… } } 为什么我们可以创建内部类的对象,如果它被标记为静态? EnclosingClass.StaticInnerClass s = new EnclosingClass.StaticInnerClass()

在另一个类中创建内部类对象的数组

请考虑以下嵌套类。 class Outerclass { class innerclass { } } class util { //how to declare an array of innerclass objects here? }