如果定义为public,则表明这个为公共类
我的理解应该是可以在类的外面,通过创建类的对象来访问。
private是私有的,在类的外面将访问不到。
而static则是用来修饰类,方法以及变量的,用static修饰后的类、方法或者变量,可以直接通过类名字点方法或者变量名直接访问,而不用new一个实例
比如:
public class OuterClass {
public static class InnerClass{
InnerClass(){
System.out.println("============= 我是一个内部类'InnerClass' =============");
}
}
}
public class TestStaticClass {
public static void main(String[] args) {
// 不需要new一个InnerClass
new OuterClass.InnerClass();
}
}
`如果没有用static修饰InterClass,则只能按如下方式调用:需要先new 一个外部类实例
package inner_class;
public class OuterClass {
public class InnerClass{
InnerClass(){
System.out.println("============= 我是一个内部类'InnerClass' =============");
}
}
}
public class TestStaticClass {
public static void main(String[] args) {
// OutClass需要先生成一个实例,然后再new一个InnerClass();
OuterClass oc = new OuterClass();
oc.new InnerClass();
}
}