Java内部类与匿名内部类

JAVA学习网 2021-02-06 06:00:14

一:在 Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类

public class Test {
    public static void main(String[] args) {
         person person=new person("小袁",17,"男");
    }
}

class person{
    public String name;
    public int age;
   public String sex;
 public person(String name,int age,String sex){
     this.name=name;
     this.age=age;
     this.sex=sex;
     //必须先创建成员内部类的对象,再进行访问
     getInternalClass().get();
 }
   private InternalClass getInternalClass(){
      return new InternalClass();
  }

 class InternalClass{
    public void get(){
        //打印外部类的成员变量
        System.out.println(name+" "+age+" "+sex);
    }
}
}

成员内部类可以无条件地访问外部类的成员,而外部类想访问成员内部类的成员却不是那么随便了。在外部类中如果要访问成员内部类的成员,必须先创建一个成员内部类的对象,再通过指向这个对象的引用来访问

二:匿名内部类

public class Test {
    public static void main(String[] args) {
AnonymousInnerClass();
    }
  private static void  AnonymousInnerClass(){
        show show=new show(){
            @Override
            public void show() {
                System.out.println("你好");
            }
        };
          show.show();
    }
}

class show{
    public  void show(){
        System.out.println("helloworld");
    }


}

 

阅读(745) 评论(0)