什么是内部类:
类的五大成员:属性、方法、构造方法、代码块、内部类。
在类的里面,在定义一个内部类。
内部类表示的事物是外部类的一部分,内部类单独出现没有任何意义。
内部类的访问特点:
内部类可以直接访问外部类,包括私有。
外部类要访问内部类的成员,必须创建对象。
package oop.innerclass.a01innerclassdemo01;
public class Car {
String carName;
int carAge;
String carColor;
public void show(Car this){
System.out.println(this.carName);
Engine e=new Engine();
System.out.println(e.engineName);
}
class Engine{
String engineName;
int engineAge;
public void show(){
System.out.println(engineName);
System.out.println(carName);
}
}
}
package oop.innerclass.a01innerclassdemo01;
public class Test {
public static void main(String[] args) {
Car c=new Car();
c.carName="宾利";
c.carAge=1;
c.carColor="粉色";
c.show();
}
}
成员内部类:写在成员位置的属于外部类的成员。
成员内部类可以被一些修饰符所修饰,比如:private、默认、protected、public、static等。
在成员内部类里面,JDK116之前不能定义静态变量,jdk16开始才可以定义静态变量。
package oop.innerclass.a02innerclassdemo02;
public class Outer {
String name;
class Inner{
}
}
package oop.innerclass.a02innerclassdemo02;
public class Test {
public static void main(String[] args) {
Outer.Inner oi=new Outer().new Inner();
}
}