|---------------------------------------------------------------------|-----------------------------------------------------------------------------------------|
| public class Outer{ 外部类public class Inner{ 内部类}} | public class Test{ 外部其他类public static void main(String[ ] args){}} |
例:需求:写一个Javabean类描述汽车。
属性:汽车的品牌,车龄,颜色,发动机的品牌,使用年限
|-------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
| public class Car{ 外部类String carName;int carAge;int carColor;class Engine{ 内部类String engineName;int engineAge;}} | 内部类表示的事物是外部类的一部分内部类单独出现没有任何意义内部类的访问特点 * 内部类可以直接访问外部类的成员,包括私有 * 外部类要访问内部类的成员,必须创建对象 |
范例:Outer.Inner oi = new Outer( ).new Inner( ); 创建对象的方式:
类名 对象名 =new 类名( );
Student s = new Student( );
练习:成员内部类------面试题
⭐⭐外部类成员变量和内部类成员变量重名时,在内部类如何访问?
System.out.printIn(Outer.this.变量名);
3、静态内部类和局部内部类
静态内部类
注意事项:
1、静态内部类也是成员内部类中的一种
2、静态内部类只能访问外部类中静态变量和静态方法,如果想要访问非静态的需要创建对象。
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| public class Car{ 外部类String carName;int carAge;int carColor;static class Engine{ 静态内部类String engineName;int engineAge;}} |