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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 569015640   /  2015-10-7 23:09  /  7830 人查看  /  36 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

abstract就是一把锁,被锁上的东西(功能),必须拿钥匙来打开(复写)。
final就是铁门,把东西用铁门焊死(再也打不开了,不能复写了)。
既要锁上,打算日后拿钥匙来开启,又用铁门焊死,这不是傻冒么
回复 使用道具 举报
如果你这个类是抽象类的话,只能通过他的子类来实例化,而被final修饰的类时是不能有子类的,所以他前后矛盾,
回复 使用道具 举报
孤单背影 来自手机 中级黑马 2015-10-22 23:51:15
23#
final修饰后是太监类了里面的东西是只能用不能改,而抽象类里的方法是必须重写后才能使用,所以你把他们放一块是让动还是不让动。要玩死他?
回复 使用道具 举报
月明 中级黑马 2015-10-29 01:10:25
24#
final修饰的类不能被继承 而abstract只有被继承才有意义 final修饰的方法不能被重写 abstract修饰的类必须要被重写
回复 使用道具 举报
final:修饰变量,方法,类             abstract用于类名前表示一个抽象类,abstract用于成员方法前表示抽象方法,而抽象类内部至少要有一个抽象方法,这个跟final不能一起用,至于为什么,你一想就清楚了,抽象类本身必须有子类需要实现它的方法,但是final类又不能有子类,这不矛盾了么,所以不能一起用。
回复 使用道具 举报
final 是最终的意思,而abstratic是抽象的,必须被实现才有意义,所以不可以同时使用
回复 使用道具 举报
abstract用来修饰类,必须有子类继承,用来修饰方法,必须有子类重写才能用。但final修饰的类不可被继承,修饰的方法不可被重写。那还定义来做什么?
回复 使用道具 举报
一个不能被继承的抽象类存在没有任何意义,所以final和abstract不能连用
回复 使用道具 举报
因为被final修饰的类是最终类,被final修饰的方法不能被继承;而abstract修饰的类要求子类强制重写父类的方法,这和final是矛盾的,所以不能共用
回复 使用道具 举报
abstract不可与下列修饰词共同修饰方法:
1) final:被final修饰的类为最终类,不可以被改变,而有abstract修饰的方法被子类继承时,子类需要复写这个抽象方法,所以这是矛盾的
2)private:被private修饰的方法都不能被子类继承,何谈被子类复写
3)static:被static修饰的方法可以直接被类名.调用,而直接调用抽象方法是没有意义的
回复 使用道具 举报
final修饰的不能被继承  而abstratic是需要被继承的  所以两者不能同时使用
回复 使用道具 举报
du_minchao 发表于 2015-10-8 12:52
final:       修饰方法,方法不能被重写,。
               修饰类,类是叶子类,不能被继承。
abstract:  ...

赞一个,这种概念性的知道是那个意思就是说不上来
回复 使用道具 举报
wokua 发表于 2015-10-9 01:48
要是修饰类的话不能被继承的类用abstrat方法又有什么用呢?

所以不能一起使用啊
回复 使用道具 举报
被abstract修饰的类要被复写,而被final修饰的类却不能被继承,两者矛盾.。2.被abstract修饰的方法是抽象方法,其类也一定是抽象的,被抽象的类或者接口被继承或者实现时,必须重写,而被final修饰的方法不能被重写,两者之间矛盾
回复 使用道具 举报
final修饰的方法表示这个方法不能被子类重写;
abstract修饰的方法表示父类需要此方法,但是不知道此方法应该如何实现,希望子类重写该方法具体的实现方式;
所以,这两个修饰符不能连用。
回复 使用道具 举报
本帖最后由 1191065242 于 2016-5-1 19:13 编辑

final修饰的类是不能被继承的,方法是是不能被重写的,而abstract修饰的类中可能有抽象方法,需要你子类去继承重写方法,所以不能一起使用
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马