详述Java内部类

详述Java内部类

内部类是将一个类定义在另一个类里面的类,称为内部类。内部类可以分为有名内部类匿名内部类,顾名思义,有名内部类有自己的类名,匿名内部类没有类名。

有名内部类
public class Body{
	//有名内部类
	class Heart{
		public void work() {
			System.out.println("心脏在跳动");
		}
	}
	{
		//调用内部类方法1,new前面隐藏关键字this,代指body
		Heart heart = new Heart();
	}
	
	public static void main(String[] args) {
		Body body = new Body();
		//调用内部类方法2,必须指明哪个类调用的
		Heart heart = body.new Heart();
		heart.work();
	}
}
匿名内部类:主要用于重写
public class Body{
	//匿名内部类
	static Mammal mammal = new Mammal(){
		@Override
		public void move() {//重写Mammal中的move方法
			System.out.println("鲸鱼在游动");
		}
	};
	public static void main(String[] args) {
		mammal.move();
	}
}

注意

  • 普通类编译后的文件为 类名.class
  • 有名内部类编译后文件为 类名$内部类名.class
  • 匿名内部类编译后文件为 类名$数值.class
发布了4 篇原创文章 · 获赞 0 · 访问量 27

猜你喜欢

转载自blog.csdn.net/qq_45738402/article/details/105164556