Detailed Java inner class

Detailed Java inner class

An inner class is a class that defines a class in another class, and is called an inner class. Internal classes can be divided into named internal classes and anonymous internal classes . As the name implies, famous internal classes have their own class names, and anonymous internal classes have no class names.

Famous inner class
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();
	}
}
Anonymous inner class: mainly used for rewriting
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();
	}
}

Note :

  • After the class files compiled into ordinary class name .class
  • After the famous inner class files compiled for the class name inside the class name $ .class
  • After an anonymous inner class files compiled for the class name $ value .class
Published 4 original articles · Likes0 · Visits 27

Guess you like

Origin blog.csdn.net/qq_45738402/article/details/105164556