1 内部类-----是在其他类中的类

1.1 内部类的定义

  • 将类定义为 class xxxx{... ...}置于某个类的内部即可‘
  • 内部类编译时生成 xxxx$xxxx的class文件
  • 内部类不能够与外部类同名

1.2 内部类的使用

  • 在封装其类本省的类中使用该类,与普通类的使用方式相同
  • 在其他地方使用该类:a 类名前要冠以外部类的类名; b 在用new创建内部类对象时,外部类名.内部类名 内部类对象名=外部类对象名.new 内部类名(参数)

1.3 在内部类中使用外部类的成员

  • 内部类可以直接使用外部类的所有字段和方法;private也可以
  • 如果内部类与外部类有同名的字段方法,则:外部类名.this.字段或方法

代码示例:

public class TestInnerClass {
    public static void main(String[] args){
        ExternalClass  extern = new ExternalClass();
        ExternalClass.InnerClass inner = extern.new InnerClass();
        inner.outPut("方法的字段");
    }
}

class ExternalClass{
    private String s = "外部类字段";
    
    class InnerClass{
        private String s = "内部类字段";
        public void outPut(String s){
            System.out.println("s的值为 " + s);
            System.out.println("this.s的值为 " + this.s);
            System.out.println("ExternalClass.s的值为 " + ExternalClass.this.s);
        }
    }
    
}
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-02
  • 2022-12-23
  • 2022-01-04
猜你喜欢
  • 2021-10-06
  • 2022-12-23
  • 2021-07-10
  • 2022-01-26
  • 2021-07-07
  • 2021-07-13
相关资源
相似解决方案