摘要:韦东山android视频学习笔记 

1、什么是内部类:在类的内部定义一个类,内部类可以访问类的私有属性

 class Outer{
private int a = ;
class Inner{
public void printInfo(){
System.out.println("a = " + a);
}
}
} public class InnerDemo{
public static void main(String args[]){
Outer o = new Outer();
Outer.Inner i = o.new Inner();
i.printInfo();
}
}

编译运行结果:

第2课第7节_Java面向对象编程_内部类_P【学习笔记】-LMLPHP

2、静态内部类可以不用先实例化类对象,在实例化内部类。需要static关键字.

 class Outer{
private static int a = ;
static class Inner{
public void printInfo(){
System.out.println("a = " + a);
}
}
} public class InnerDemo{
public static void main(String args[]){
//Outer o = new Outer();`
Outer.Inner i = new Outer.Inner();
i.printInfo();
}
}

编译运行结果

第2课第7节_Java面向对象编程_内部类_P【学习笔记】-LMLPHP

3、匿名内部类,有些类只定义一次之后就不在使用,可以使用匿名内部类。

 interface A{
public void printInfo();
} class B implements A{
public void printInfo(){
System.out.println("Hello,world!1");
}
} public class Anony{
public static void main(String args[]){
testFunc(new B());
testFunc(new A(){
public void printInfo(){
System.out.println("Hello,world!2");
}
});
} public static void testFunc(A a){
a.printInfo();
} }

编译运行结果

第2课第7节_Java面向对象编程_内部类_P【学习笔记】-LMLPHP

相关代码存放在github,可以下载https://github.com/zzb2760715357/100ask

第2课第7节_Java面向对象编程_内部类_P【学习笔记】-LMLPHP

05-11 20:14