黑马程序员技术交流社区
标题:
抽象类疑问???
[打印本页]
作者:
HM汪磊
时间:
2013-3-20 21:58
标题:
抽象类疑问???
本帖最后由 HM汪磊 于 2013-3-21 12:23 编辑
抽象关键字不可以和private,static,final关键字共存,请问为什么???分别写出
作者:
杨博
时间:
2013-3-20 22:04
static与abstract不可以 因为static修饰的方法可以通过类名直接调用。
final与abstract不可以 这两个是完全相反的操作。
private与abstract不可以 因为private私有化了,就不能被继承了。
作者:
张权
时间:
2013-3-20 22:06
private 修饰的方法不能被重写, 其实是可以的, 但是即使重写也不具备多态, 所以通常也可以说成不能重写,这个具体怎么说我也不知道, 因为有些人说可以重写, 有些人说不可以重写, 这个无所谓, 这个只是站在不同的角度去考虑分析出来的, 主要明白就好 了...关键是要知道即使重写也不具备多态, 既然不具备多态, 那么就变得毫无意义, 所以就不能和abstract关键字一起, static同理 , final修饰的方法不能被重写,这个不能重写是真的不能重写, 重写就报错, 既然不能重写,那么肯定就不能多态, 那么就定义的抽象方法就毫无意义, 同理, 如果定义一个类时, 如果既定义成抽象的, 有定义成final的, 那么这个类根本就没法继承了, 不能继承, 那也就没意义了.
作者:
lxww
时间:
2013-3-20 22:08
关键字static与abstract不能共存
原因:因为static修饰的方法可以通过类名直接调用,而abstract修饰的方法不行。
关键字final与abstract不能共存
原因:因为abstract就是要被继承的,而被final修饰的类不可能被继承,所以不能共存。
关键字private与abstract不可以
原因:因为abstract就是要被继承的,而被private修饰的类被私有化,就不能被继承。
作者:
刘辉
时间:
2013-3-20 22:13
2. **private:
私有内容子类继承不到,所以,不能重写。
但是,abstract修饰的方法,要求被重写。两者冲突。
**final
final修饰的方法不能被重写。
而abstract修饰的方法,要求被重写。两者冲突。
**static
假如一个抽象方法能通过static修饰,那么这个方法,就可以直接通过类名调用。
而抽象方法是没有方法体的,这样的调用无意义。所以,不能用static修饰。
作者:
孙宁
时间:
2013-3-20 22:15
被final修饰的类不能被继承,被final修饰的成员方法不能被修改,而抽象类是作为父类的,加了final之后不能被子类继承复写,也就失去了意义。
抽象类中的抽象方法被私有了,子类也不能复写修改
被static修饰的方法,可以直接类名调用,可是抽象方法运行没意义.
作者:
黑马17期-闫东东
时间:
2013-3-20 22:31
本帖最后由 黑马17期-闫东东 于 2013-3-20 22:32 编辑
static与abstract不可以 static修饰的方法可以通过类名调用。
final与abstract不可以 这两个是完全相反的操作。
private与abstract不可以 因为private私有化了,就不能被继承
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2