自己建网站数据怎么做,专业科技网站建设,局域网电脑做网站服务器,网络公司网站官网Java中的成员内部类#xff08;实例内部类#xff09;#xff1a;相当于类中的一个成员变量#xff0c;下面通过一个例子来观察成员内部类的特点
public class Outer {//定义一个实例变量和一个静态变量private int a;private static int b;//定义一个静态方法和一个非静态…Java中的成员内部类实例内部类相当于类中的一个成员变量下面通过一个例子来观察成员内部类的特点
public class Outer {//定义一个实例变量和一个静态变量private int a;private static int b;//定义一个静态方法和一个非静态方法public static void say(){}public void test(){//在外部类中调用内部类的属性和方法Inner inner this.new Inner();inner.d 1; //通过创建内部类实例来调用内部类属性inner.walk(); //通过创建内部类实例来调用内部类方法}//成员内部类public class Inner{//定义一个静态常量static final int m 1;//在内部类中定义一个静态变量和一个实例变量//static int c; 编译出错int d;//定义一个匿名代码块和一个静态代码块{} //static{} 编译出错//定义一个静态方法和一个普通方法//public static void go(){} 编译出错public void walk(){//在内部类中调用外部类的属性和方法a 1;b 1;say();test(); //内部类可以直接访问外部类的所有属性和方法}}
}总结
1、成员内部类可以由public protected default private修饰
2、成员内部类是依赖于外部类的对象而存在的在创建成员内部类的实例时外部类的实例必须已经存在。
3、成员内部类可以包含哪些内容
1匿名代码块
2非静态属性
3非静态方法
注意成员内部类中不能有静态属性和方法但可以有静态常量即用static final修饰的属性因为在类加载时会初始化static修饰的内容而成员内部类必须依赖于内部类对象即成员内部类要在外部类加载之后加载所以不能包含静态的变量和方法。使用final修饰的静态变量类加载时会自动初始化其值将其作为一个常量所以可以出现在内部类中。
4、外部类访问内部类
外部类可以通过创建成员内部类实例来访问成员内部类中的属性和方法
5、成员内部类访问外部类
成员内部类可以直接访问外部类的所有属性和方法
注意 如果成员内部类B与外部类A包含同名的成员那么在类B中 this.v表示类B的成员 A.this.v表示类A的成员。
6、创建内部类实例的方法
1在外部类中创建内部类名 name this.new 内部类名();
2在非外部类中创建外部类名.内部类名 name new 外部类名().new 内部类名();