4

我有一个类说A,一个静态嵌套类说B

public class A {
    public static class B {
        B(Temp x) {
            x.reg(this); // need to pass the nested class reference.
        }
    }
}

上面的代码正确吗?我们可以this在嵌套的静态类构造函数中使用关键字吗?

请帮助我。谢谢。

4

3 回答 3

3

是的。对于运行时,内部类只是另一个独立的类。如果内部类不是静态的,它只会引用外部类,但在你的情况下,它是静态的,所以不均匀,所以就好像你在新文件中创建了一个新类

只要确保你写的是“public”,而不是“Public”

于 2013-11-18T05:55:14.743 回答
2

1)嵌套静态类不需要外部类的引用,但非静态嵌套类或内部类需要外部类引用。

2)内部类(或非静态嵌套类)可以访问外部类的静态和非静态成员。静态类不能访问 Outer 类的非静态成员。它只能访问 Outer 类的静态成员。

3)没有外部类的实例就不能创建内部类的实例,内部类可以引用它嵌套的外部类中定义的数据和方法,因此我们不需要将对象的引用传递给构造函数内部类。因此,内部类可以使程序简单明了。

有关更多信息,请参阅此http://www.geeksforgeeks.org/static-class-in-java/

于 2013-11-18T05:56:52.283 回答
0

静态类的行为就像一个static方法。这个类属于类但不属于实例。因此,this在静态上下文中没有任何意义。

于 2013-11-18T05:57:13.440 回答