java内部类

内部类:把类定义在另一个类的内部。

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版权协议,转载请附上原文出处链接和本声明。