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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Emperors 中级黑马   /  2014-4-12 19:27  /  1190 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Emperors 于 2014-4-14 18:04 编辑

抽象类关键字abstract  不可以和哪些关键字共存?

10 个回复

倒序浏览
final?
static?
private?还有吗。。
回复 使用道具 举报
private、final
private和final修饰的方法都不能被重写,而abstract修饰的方法是要求被重写的,所以之间有冲突 。

点评

还有个静态(static)对吗  发表于 2014-4-12 22:06
回复 使用道具 举报
认真看视频,都讲过了

final:被final修饰的类不能有子类。而被abstract修饰的类一定是一个父类。
private: 抽象类中的私有的抽象方法,不被子类所知,就无法被复写。
                而抽象方法出现的就是需要被复写。
static:如果static可以修饰抽象方法,那么连对象都省了,直接类名调用就可以了。
                可是抽象方法运行没意义。

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

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

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

回复 使用道具 举报 1 0

不能和 private  ,,final ,,static 一块重写
因为,abstract是 抽象的 继承是需要重写的
而,private 是私有的,类继承是继承不到的,所以不能被重写

final,是修饰方法和变量的,根本不能被重写,才修饰的。

static  是静态修饰,是可以直接被调用的,抽象方法调用也没有任何意义,‘
所有综上 abstract 不能和 这三个关键词一起重写

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

回复 使用道具 举报 1 0
@文瑞 发表于 2014-4-12 19:42
private、final
private和final修饰的方法都不能被重写,而abstract修饰的方法是要求被重写的,所以之间有 ...

对呢,静态也不行
回复 使用道具 举报
abstract 关键字,和哪些关键字不能共存?
                        
        final:被final修饰的类不能有子类。而被abstract修饰的类一定是一个父类。
                   当 abstract 修饰类时,表明这个类只能被继承,当 abstract 修饰方法时,表明这个方法必须由子类提供实现(即重写)。而 final 修饰的类不能被继承,final  修饰的方法不能被重写,因此 final 和 abstract 永远不能同时使用。
               
                  
            
        private: 抽象类中的私有的抽象方法,不被子类所知,就无法被复写。而抽象方法的出现就是需要被复写。
                    abstract 关键字修饰的方法必须被其子类重写才有意义,否则这个方法将永远不会有方法体,因此 abstract 方法不能定义为 private 访问权限,即 private 和  abstract 不能同时使用。
               
           
            
               
        static:如果static可以修饰抽象方法,那么连对象都省了,直接类名调用就可以了。可是抽象方法运行没意义。
                    使用 static 来修饰一个方法时,表明这个方法属于当前类,即该方法可以通过类名来调用,如果该方法被定义成抽象方法,则将导致通过该类来调用该方法是出现错误。  因此 static 和 abstract 不能同时修饰某个方法。
              
                  
                  

毕向东Java视屏第七章第八九两课讲的很清楚啊!

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

回复 使用道具 举报
luis 初级黑马 2014-4-13 15:29:50
9#
abstract 修饰在需要重写,所以与那些被修饰后不能重写的关键字就成死敌,修饰后不能重写的关键字有:private,final,和static。也就是说abstract的死对头有三个,具体原因楼上已经说得很透彻了哦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马