黑马程序员技术交流社区
标题:
关于匿名内部类
[打印本页]
作者:
TS__likewise
时间:
2014-6-17 17:29
标题:
关于匿名内部类
interface Contents
{
void show(){};
}
public class Test1 {
public Contents con()
{
return new Contents()
{
public void show()
{
System.out.println("啊啊啊啊啊");
}
};
}
public static void main(String [] args)
{
Test1 t = new Test1();
Contents c = t.con();
c.show();
}
show()方法为什么一定要写明是public的(不然不能运行),难道匿名内部类内部成员默认是private
作者:
西门吹风
时间:
2014-6-17 18:37
接口中的变量默认有public static final修饰
接口中的方法默认有public abstract修饰
所以show是抽象方法,不能不方法体
interface Contents
{
void show(){}; //应改为void show();
}
子类要覆盖父类中的方法,子类的方法不能比父类的方法权限小,
接口中的show方法默认被public修饰,那么要覆盖这个方法的方法也必须被public修饰
作者:
唐杰亮
时间:
2014-6-17 18:43
(1)首先修正一点,上面的代码只用到了匿名类的用法。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2