1、内部类的形式是怎样的?
⒈静态内部类
⒉成员内部类
⒊局部内部类
⒋匿名内部类
2、为什么要有“内部类”?
1、内部类提供了更好的封装。只能让外部类直接访问,不允许同一个包中的其他类直接访问。
2、内部类可以直接访问外部类的私有属性,内部类被当成其外部类成员。但外部类不能访问内部类的内部属性。
3、利用内部类可以方便实现哪些功能?
可以不受限制的访问外部类的域和方法。
4、内部类的实现机制?
可以,限制,如果是静态内部类,不能访问外部类的非静态成员。
编程题:
1.定义一个乐器(Instrument)接口,其中有抽象方法
void play();
在InstrumentTest类中,定义一个方法
void playInstrument(Instrument ins);
并在该类的main方法中调用该方法。
要求:分别使用下列内部类完成此题。
成员内部类
局部内部类
匿名类
//使用成员内部类实现
package xianweifu;
interface Instrument{
public abstract void play();
}
class InstrumentTest{
class Inner1 implements Instrument{
public void play(){
System.out.println(