A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HM汪磊 高级黑马   /  2013-3-20 21:58  /  1955 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 HM汪磊 于 2013-3-21 12:23 编辑

抽象关键字不可以和private,static,final关键字共存,请问为什么???分别写出

点评

如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,谢谢  发表于 2013-3-21 10:29

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

6 个回复

倒序浏览
static与abstract不可以  因为static修饰的方法可以通过类名直接调用。
final与abstract不可以  这两个是完全相反的操作。
private与abstract不可以  因为private私有化了,就不能被继承了。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
private 修饰的方法不能被重写, 其实是可以的, 但是即使重写也不具备多态, 所以通常也可以说成不能重写,这个具体怎么说我也不知道, 因为有些人说可以重写, 有些人说不可以重写, 这个无所谓, 这个只是站在不同的角度去考虑分析出来的, 主要明白就好 了...关键是要知道即使重写也不具备多态, 既然不具备多态, 那么就变得毫无意义, 所以就不能和abstract关键字一起,   static同理  ,  final修饰的方法不能被重写,这个不能重写是真的不能重写, 重写就报错,  既然不能重写,那么肯定就不能多态, 那么就定义的抽象方法就毫无意义, 同理, 如果定义一个类时, 如果既定义成抽象的, 有定义成final的, 那么这个类根本就没法继承了, 不能继承, 那也就没意义了.

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
关键字static与abstract不能共存
原因:因为static修饰的方法可以通过类名直接调用,而abstract修饰的方法不行。

关键字final与abstract不能共存  
原因:因为abstract就是要被继承的,而被final修饰的类不可能被继承,所以不能共存。

关键字private与abstract不可以  
原因:因为abstract就是要被继承的,而被private修饰的类被私有化,就不能被继承。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
2. **private:
                        私有内容子类继承不到,所以,不能重写。
                        但是,abstract修饰的方法,要求被重写。两者冲突。
           **final
                        final修饰的方法不能被重写。
                        而abstract修饰的方法,要求被重写。两者冲突。                        
                **static
                        假如一个抽象方法能通过static修饰,那么这个方法,就可以直接通过类名调用。
                        而抽象方法是没有方法体的,这样的调用无意义。所以,不能用static修饰。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
被final修饰的类不能被继承,被final修饰的成员方法不能被修改,而抽象类是作为父类的,加了final之后不能被子类继承复写,也就失去了意义。
抽象类中的抽象方法被私有了,子类也不能复写修改
被static修饰的方法,可以直接类名调用,可是抽象方法运行没意义.

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 黑马17期-闫东东 于 2013-3-20 22:32 编辑

static与abstract不可以  static修饰的方法可以通过类名调用。
final与abstract不可以  这两个是完全相反的操作。
   private与abstract不可以  因为private私有化了,就不能被继承
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马