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

java关于抽象类的问题
定义一个抽象类:
abstract class Test{
void test(){}; 和abstract test();
这两种写法有什么区别?




------解决方案--------------------
不知道你说的是哪两种方法

abstract 修饰class时,这个class是抽象的,里面可有(可无)抽象方法
abstract 修饰方法时,这个方法只能在抽象类里面
------解决方案--------------------
探讨
引用:

不知道你说的是哪两种方法

abstract 修饰class时,这个class是抽象的,里面可有(可无)抽象方法
abstract 修饰方法时,这个方法只能在抽象类里面

我的意思是定义抽象方法时 void test(){};
和 abstract void test();
这两种定义方法的方式有什么区别

------解决方案--------------------
抽象类里面有一个void test()方法(不是抽象的),继承这个抽象类的子类当然可以重写这个方法。如果抽象类里面是abstract void test(),那么继承这个抽象类的子类必须重写(正确来说应该是定义)这个方法,除非这个子类也是一个抽象类。