我有一个类说A
,一个静态嵌套类说B
。
public class A {
public static class B {
B(Temp x) {
x.reg(this); // need to pass the nested class reference.
}
}
}
上面的代码正确吗?我们可以this
在嵌套的静态类构造函数中使用关键字吗?
请帮助我。谢谢。
我有一个类说A
,一个静态嵌套类说B
。
public class A {
public static class B {
B(Temp x) {
x.reg(this); // need to pass the nested class reference.
}
}
}
上面的代码正确吗?我们可以this
在嵌套的静态类构造函数中使用关键字吗?
请帮助我。谢谢。
是的。对于运行时,内部类只是另一个独立的类。如果内部类不是静态的,它只会引用外部类,但在你的情况下,它是静态的,所以不均匀,所以就好像你在新文件中创建了一个新类
只要确保你写的是“public”,而不是“Public”
1)嵌套静态类不需要外部类的引用,但非静态嵌套类或内部类需要外部类引用。
2)内部类(或非静态嵌套类)可以访问外部类的静态和非静态成员。静态类不能访问 Outer 类的非静态成员。它只能访问 Outer 类的静态成员。
3)没有外部类的实例就不能创建内部类的实例,内部类可以引用它嵌套的外部类中定义的数据和方法,因此我们不需要将对象的引用传递给构造函数内部类。因此,内部类可以使程序简单明了。
有关更多信息,请参阅此http://www.geeksforgeeks.org/static-class-in-java/
静态类的行为就像一个static
方法。这个类属于类但不属于实例。因此,this
在静态上下文中没有任何意义。