java,静态内部类?

来源:百度知道 编辑:UC知道 时间:2024/05/12 06:12:01
package ch6;

public class OuterC {

private String name="小强";
private static String address="北京";

public static class InnerC{
public void m3(){

System.out.println("静态内部类InnerC调用Outer的address="+address);
}
}

public static void main(String[] args){
OuterC.InnerC inn=new InnerC();
inn.m3();
}

}
上面代码中的:OuterC.InnerC inn=new InnerC();和写成
OuterC.InnerC inn=new OuterC.InnerC();的区别?
还有这个InnerC inn=new InnerC();以上三者的区别?

思路:
如果main方法在另一个类中,必须加上前缀。

OuterC.InnerC inn=new InnerC();
OuterC.InnerC inn=new OuterC.InnerC();
InnerC inn=new InnerC();

都是一样的
你是在同一个类中new的,所以可以省略那个OuterC,你要新建一个类new静态内部类就需要
OuterC.InnerC inn=new OuterC.InnerC();
因为InnerC已经不可见了