日期:2014-05-20  浏览次数:20740 次

java 匿名内部类
class Anony
{
public void hi()
{
System.out.println("hi?");
}
public void hello()
{
System.out.println("hello?");
}
}
public class AnonyDemo2
{
public static void main(String[] args)
{
Anony ob=new Anony()
{
public void hi()
{
System.out.println("你好");
}
};
ob.hi();
ob.hello();
}
}
请问这两个public void hi()方法怎样理解?

------解决方案--------------------
相当于你写了个子类,重载了Anony原类中hi()这个函数。


------解决方案--------------------
重写了Anony的hi方法。
------解决方案--------------------
重写了Anony的hi方法,另外这是匿名类吗...
------解决方案--------------------
匿名内部类的实质就是。
你写了一个隐含名称的类,继承自了父类。
你在匿名内部类中重载了父类的方法。
当你
Anony ob=new Anony(){
public void hi()
{
System.out.println("你好");
}
};
时。就相当于new了一个子类,然后将引用交给了父类。
当你通过ob变量名调用方法时,下面就是多态的事情了。这个你知道吧。