黑马程序员技术交流社区
标题:
有关匿名类-为什么匿名类会把原来的类覆盖掉?
[打印本页]
作者:
王--明
时间:
2012-2-26 22:21
标题:
有关匿名类-为什么匿名类会把原来的类覆盖掉?
class Cry{
public void cry(){
System.out.println("大家好");
}
}
public class E{
public static void main(String args[]){
Cry hello = new Cry(){
public void cry(){
System.out.println("大家好,祝工作顺利!");
}
};
hello.cry();
}
}
作者:
李晓俊老师
时间:
2012-2-26 22:34
你在E类里面又建立了一个Cry内部类,这个类的范围存在于E类之内,与外面的Cry类不冲突,所以不是覆盖的问题
,就相当于你又写了一个类
作者:
朱皓
时间:
2012-2-26 22:54
楼上的说的对,你在E类里又创建了一个内部类,并不冲突
作者:
少威
时间:
2012-2-26 23:33
可以这么理解,把它看成是一条链,总是用最近的
作者:
王康
时间:
2012-2-27 10:57
Cry hello = new Cry(){
public void cry(){
System.out.println("大家好,祝工作顺利!");
}
};
hello.cry();
hello.cry()中的cry()方法,是你类E中的cry方法,相当与你重新定义了一个cry()方法,与你Cry类中的cry()方法没有关系.
如果,你的类E中的cry()方法改为crys(),那么此时调用的是你的Cry类中的cry()方法,打印结果为"大家好".
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2