一、内部静态类:
1.访问内部静态类时,不需要实例化外部类。
public class Outer { static class Inner { } } class OtherClass { Outer.Inner oi = new Outer.Inner(); }
2.静态内部类中可以定义静态成员和实例成员。(变量、方法)
注:外部类以外的其他类需要通过完整的类名访问静态内部类中的静态成员,如果要访问静态内部类中的实例成员,则需要通过静态内部类的实例。
public class Outer { static class Inner { int a = 0; // 实例变量a static int b = 0; // 静态变量 b } } class OtherClass { Outer.Inner oi = new Outer.Inner(); int a2 = oi.a; // 访问实例成员,通过静态内部类的实例访问 int b2 = Outer.Inner.b; // 访问静态成员,以完整类名访问 }
3.静态内部类可以直接访问外部类的静态成员,如果要访问外部类的实例成员,则需要通过外部类的实例去访问。
public class Outer { int a = 0; // 实例变量 static int b = 0; // 静态变量 static class Inner { Outer o = new Outer; int a2 = o.a; // 访问实例变量,通过实例访问 int b2 = b; // 访问静态变量,直接访问 } }
标签:Outer,内部,静态,访问,int,实例,Inner,JAVA From: https://www.cnblogs.com/lxpblogs/p/16746364.html