标签:
内部类中最常见的就是成员内部类,也称为普通内部类
成员内部类的使用方法:
1.内部类中的方法可以直接访问外部类中的数据,不受访问控制符的影响
2.外部类不能直接使用内部类的成员和方法
3.定义了内部类之后,必须使用外部类对象创建内部类对象(内部类 对象名 = 外部类对象.new 内部类())
注:定义了内部类,文件编译后会出现两个.class文件(内部类的.class文件的格式为:外部类名$内部类名.class)
1 package com.imooc.test003; 2 3 public class Outer {//定义内部类以后,该类称为外部类 4 5 private int a = 10; 6 7 //内部类Inner 8 public class Inner{ 9 10 private int b = 20; 11 12 public void test(){ 13 System.out.println("访问外部类中的a:" + a); 14 System.out.println("访问内部类中的b:" + b); 15 } 16 17 } 18 19 public static void main(String[] args){ 20 Outer out = new Outer();//创建外部类的对象 21 Inner in = out.new Inner();//通过外部类的对象创建内部类的对象 22 in.test(); 23 } 24 25 }
4.如果外部类和内部类有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量或方法,可以使用this关键字
1 package com.imooc.test003; 2 3 public class Outer {//定义内部类以后,该类称为外部类 4 5 private int a = 10; 6 7 //内部类Inner 8 public class Inner{ 9 10 private int a = 20; 11 12 public void test(){ 13 System.out.println("访问外部类中的a:" + Outer.this.a); 14 System.out.println("访问内部类中的a:" + a); 15 } 16 17 } 18 19 public static void main(String[] args){ 20 Outer out = new Outer();//创建外部类的对象 21 Inner in = out.new Inner();//通过外部类的对象创建内部类的对象 22 in.test(); 23 } 24 25 }
参考:慕课网(http://www.imooc.com/)
标签:
原文地址:http://www.cnblogs.com/jinjiyese/p/4549494.html