我看了下笔记
内部类分别有:1,成员内部类2,静态内部类3,局部内部类4,匿名内部类
(1)成员内部类
A:定义,:在一个外部类中有成员变量和成员方法,那么成员内部类就是把整个一个类当成了外部类的成员对待了
B: 访问方式:内部类访问外部类,内部类可以直接访问外部类,包括私有成员,因为内部类拥有外部类的引用是类名.this
外部类访问内部类,外部类访问外部类的成员,必须要建立内部类的对象
格式:外部类名.内部类名 标识符 = new 外部类对象().new 内部类对象();
Outer.Inner oi = new Outer().new Inner();//outer代表外部类,Inner代表内部类
C:存放位置:在外部类里,在外部类的成员方法外.
D:修饰符:final、abstract、public、private、protected和static等,那么被static修饰的就是下面所说的
静态内部类.
(2)静态内部类
A:定义,就是在成员内部类的基础上加上static
B:格式:外部类名.内部类名 标识符 = new 外部类名.内部类对象();
并没有说什么情况下必须加static
所以我自己估计
你要调用3个同为X的变量并且都将他们输出出来 那么就必须将各个类都静态了 让其他X值不能覆盖 |