class Outer8
{
class Inner extends Object
{
public void show(){}
}
void method()
{
Object obj = new Object()
{
public void show() {
System.out.println("show run");
}
};
//从new开始到上一行的右大括号 所代表的都是object的子类对象。
//因此Object obj = new Object()为父类引用指向子类对象,为多态。
obj.show();//报错:object里没有show方法。
//因为匿名内部类这个子类对象被向上转型为object类型。
//这样就不能再使用子类特有的方法了。
}
}
public class InnerClassDemo7 {
static class Inner7//加static 下方加不能this 因为是静态
{}
public static void main(String[] args) {
// TODO Auto-generated method stub
new Inner7();//报错:无法从静态上下文中引用非静态。
}
public void method()
{
new Inner7();
}
}
匿名内部类----细节
最新推荐文章于 2019-08-10 13:11:07 发布