黑马程序员技术交流社区
标题:
内部类的编译通过,运行错误 !
[打印本页]
作者:
heheka123
时间:
2014-4-10 14:08
标题:
内部类的编译通过,运行错误 !
abstract class Test {
abstract void show();
}
class Inter
{
public static void inter()
{
new Test()
{
void show()
{
System.out.println("打印显示!");
}
}.show();
}
}
class InnerClassTest
{
public static void main(String[] args)
{
Inter.inter();
}
}
提示的错误是:abstract class Test {
abstract void show();
}
class Inter
{
public static void inter()
{
new Test()
{
void show()
{
System.out.println("打印显示!");
}
}.show();
}
}
class InnerClassTest
{
public static void main(String[] args)
{
Inter.inter();
}
}
复制代码
作者:
jingdou56
时间:
2014-4-10 14:22
编译没有问题啊!
但是你下面的两个类和上面的两个类不能同时存在,
编译时要注释其中的两个,否则出出现 类重复的错误!
内部类的格式也是对的,匿名内部类的中的抽象方法也都覆盖了,
你再试一次吧!
应该是没有问题的!
作者:
ilvsoft
时间:
2014-4-10 16:20
第一点:abstract class Test {
abstract void show();
}这是一个抽象类说明他不能被实例化
第二点: new Test()
{
void show()
{
System.out.println("打印显示!");
}
}.show();//这段代码中你却给Test实例化了,你说能对么
作者:
ilvsoft
时间:
2014-4-10 16:23
ilvsoft 发表于 2014-4-10 16:20
第一点:abstract class Test {
abstract void show();
}这是一个抽象类说明他不能被实例化
只要是抽象类他就不能被实例化,你吧这点记住了,你这段代码也就不这么写了,其实你这种学习方法跟我一样,我喜欢听完课按照自己的想法吧几个知识点穿起来验证下
作者:
嫉妒的耗子
时间:
2014-4-10 21:23
在我的印象中 抽象类是在子类中实现他的抽象方法 而不是在他的对象里面实现 因为abstract 关键字标示的方法是不能被实例化的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2