欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java内部类------成员内部类(仔细看案例 你想学习的知识点都有 注释清晰明了)

程序员文章站 2022-12-17 22:15:20
成员内部类在类的内部定义,与实例变量,实例方法同级别的类。外部类的一个实例部分,创建内部类对象时,必须依赖外部类对象。// 1.创建外部类的对象// Outer outer = new Outer();// //2.创建内部类的对象// Outer.Inner inner=outer.new Inner();成员内部类不能定义静态成员 ,但是可以包含静态常量//private static char sex='男'; 不...

成员内部类

  • 在类的内部定义,与实例变量,实例方法同级别的类。

  • 外部类的一个实例部分,创建内部类对象时,必须依赖外部类对象。

    //        1.创建外部类的对象
    //        Outer outer = new Outer();
    //        //2.创建内部类的对象
    //        Outer.Inner inner=outer.new Inner();
    
  • 成员内部类不能定义静态成员 ,但是可以包含静态常量

    //private static char sex='男';  不可以报错
    //private static final char sex='男'; 这个可以 不报错
    
  • 案例:

    //外部类
    public class Outer {
          //实例变量
          private String name="张三";
          private int age=20;
    
          //内部类
          public class Inner{
               private String address="山西";
               private String phone="12312313";
               //当外部类和内部类存在重名属性时,会优先访问内部类属性
               private String name="李四";
    
               //private static final char sex='男';
    
               public void show(){
                   //输出外部类的对象  如果外部类和内部类存在重名属性时,想要输出外部类 需要类名.this.属性名
                   System.out.println(Outer.this.name);
                   System.out.println(Outer.this.age);
                   //输出内部类的对象
                   System.out.println(this.address);
                   System.out.println(this.phone);
               }
          }
    
    }
    

    main方法调用

    public class Outertest {
        public static void main(String[] args) {
    //        //1.创建外部类的对象
    //        Outer outer = new Outer();
    //        //2.创建内部类的对象
    //        Outer.Inner inner=outer.new Inner();
    
            //化简  一步到位
            Outer.Inner inner=new Outer().new Inner();
    
            inner.show();
    
        }
    }
    

本文地址:https://blog.csdn.net/qq_45162683/article/details/110239262