第2课第7节_Java面向对象编程_内部类_P【学习笔记】
摘要:韦东山android视频学习笔记
1、什么是内部类:在类的内部定义一个类,内部类可以访问类的私有属性
1 class Outer{ 2 private int a = 10; 3 class Inner{ 4 public void printInfo(){ 5 System.out.println("a = " + a); 6 } 7 } 8 } 9 10 11 12 public class InnerDemo{ 13 public static void main(String args[]){ 14 Outer o = new Outer(); 15 Outer.Inner i = o.new Inner(); 16 i.printInfo(); 17 } 18 }
编译运行结果:
2、静态内部类可以不用先实例化类对象,在实例化内部类。需要static关键字.
1 class Outer{ 2 private static int a = 10; 3 static class Inner{ 4 public void printInfo(){ 5 System.out.println("a = " + a); 6 } 7 } 8 } 9 10 11 12 public class InnerDemo{ 13 public static void main(String args[]){ 14 //Outer o = new Outer();` 15 Outer.Inner i = new Outer.Inner(); 16 i.printInfo(); 17 } 18 }
编译运行结果
3、匿名内部类,有些类只定义一次之后就不在使用,可以使用匿名内部类。
1 interface A{ 2 public void printInfo(); 3 } 4 5 class B implements A{ 6 public void printInfo(){ 7 System.out.println("Hello,world!1"); 8 } 9 } 10 11 12 public class Anony{ 13 public static void main(String args[]){ 14 testFunc(new B()); 15 testFunc(new A(){ 16 public void printInfo(){ 17 System.out.println("Hello,world!2"); 18 } 19 }); 20 } 21 22 public static void testFunc(A a){ 23 a.printInfo(); 24 } 25 26 }
编译运行结果
相关代码存放在github,可以下载https://github.com/zzb2760715357/100ask
觉得不错,就给我点小支持吧,蟹蟹