java 内部类及成员内部类

如果一个事物的内部包含另一个事物,那么这就是一个类内部包含另一个类。
例如,身体和心脏的关系,又如:汽车和发动机
身体是外部,心脏是内部:
分类:
1.成员内部类
2.局部内部类(包含匿名内部类)
成员内部类的定义格式:
修饰符 class 外部类名称{
修饰符 class 内部类名称{
//…
}

  //...

}
注意:内用外,随意访问;外用内,需要内部类对象
在生成.class文件后内部类 格式 Car$Enginer.class $可以用来分割字符 也可以表示内部类的

public class Car {//车   外部类
			public class Engine{//发动机 内部类   
				//引用外部类的成员变量 随意访问
				public void methodEngine() {//内部类的方法
					System.out.println(name);
					System.out.println("内部类被调了");

 											}
				
													}
				
			public void methodCar() {
				System.out.println("外部类方法");
				//引用内部类
						Engine engine=new Engine();
						engine.methodEngine();
//也是用匿名对象:new Engine().methodEngine();
									}
			
			//外部类的成员变量
			private String name;
}

内部类与外部类的使用方式:
俩种方式:
1.间接方式:在外物类的方法房当中,使用内部:然后main只是调用外部类的方法
2.直接方式:公式
类名称 对象名=new 类名称();
外部类名称.内部对象名称 对象名=new 外部类名称().new 内部类名称();

public class Test01InnerClass {
public static void main(String[] args) {
	//下面是内部类与外部类的使用
	//外部类的使用  
	Car car=new Car();//外部类的对象
	car.methodCar();//调用外部,间接调用内部类
	
	//内部类的使用
	Car.Engine engine=new Car().new Engine();
	engine.methodEngine();
	 
}
}

你可能感兴趣的:(java,内部类)