内部类的扩展

 

 

/*

看API,发现类名或者接口名称中有 . 说明是内部类,或者内部接口。

 

内部类的延伸。

内部类是可以继承或者实现外部其他的类或者接口的。

 

好处:通过内部类的方式对类进行继承重写,或者接口进行实现。

通过公共的方式对其内部类对象进行访问。因为通常内部类很有可能被外部类封装其中。

我们就可以通过父类或者接口的方式访问到内部类对象。

 

*/

 

abstract class AbsDemo

{

abstract void show();

}

 

class Outer

{

int num = 3;

private class Inner extends AbsDemo

{

//重写抽象方法show。

void show()

{

System.out.println("num="+num);

}

}

//获取内部类的对象。

public AbsDemo getObject()

{

return new Inner();

}

 

public void method()

{

new Inner().show();

}

}

 

class InnerClassDemo4

{

public static void main(String[] args)

{

Outer out = new Outer();

//                out.method();

//如果Inner对外提供,可以如此获取。

//                Outer.Inner in = out.getObject();

//                in.show();

//如果Inner被private 。可以通过父类型获取。

AbsDemo a = out.getObject();//多态。

a.show();

}

}

转载于:https://my.oschina.net/CLOWN001/blog/858793

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值