内部类:把类定义在另一个类的内部。
eg:在类Outer的内部定义一个类Inner,此时类Inner为内部类。
内部类分为:成员内部类,静态内部类,局部内部类,匿名内部类。
特征:1.在内部类中可以访问外部类的成员,即使是私有的。
2.内部类是一个独立的类,编译后也会是一个.class文件 , 外部类名$内部类名
3.静态的内部类不能访问外部类非静态成员。
意义:1.封装性:将外部类中的某个功能封装在一个内部类,从而对外隐藏,内部类可以使用外部功能。
2.间接实现多继承
public class SonDemo {
class extends_father extends Father{
}
class extends_mother extends Mother{
}
public void son(){
String Father = new extends_father().powful;
String Mother = new extends_mother().wealthy;
System.out.println("权力:"+Father+" 财富:"+Mother);
}
public static void main(String[] args) {
new SonDemo().son();
}
public class Father{
public String powful = "市长";
}
public class Mother{
public String wealthy = "一百万";
}
}
如下所示不是一个内部类,是一个.java文件中写了很多个类。一个.java文件中只能写一个public修饰的类。public修饰的类与文件名一致。
public class Demo{
}
class Demo1{
}
版权声明:本文为m0_63928674原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。