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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张亚昆 中级黑马   /  2015-7-18 00:36  /  888 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

abstract 为什么不能与final共存

4 个回复

倒序浏览
abstract用于修饰类和方法 ,称为抽象类和抽象方法。final也可以修饰类和方法及变量。被final修饰的类不可以被继承,被final修饰的方法不可以被重写。如果一个类被定义为抽象后必须把他实现并且把它里面的抽象方法都覆盖了才能使用new创建对象,只覆盖一部分抽象方法不行,因为抽象方法无意义。如果abstract 和final同时修饰一个方法,这个抽象方法必须被覆盖了才有意义,但是final又不让它覆盖,这是有矛盾的,所有不能放在一起。
回复 使用道具 举报
abstract 是用来修饰抽象的方法,类,被修饰的方法和类必须得被集成和复写,而final修饰的类不可以被继承,final修饰的方法不可以被重写,一个是必须得被继承,一个是必须不能被继承,所以二者不可兼得,希望对你有帮助
回复 使用道具 举报
abstract修饰的方法或类是抽象的,需要被继承(类)或覆盖(方法)才能被实例化。而final修饰的类或变量表示不能再被继承或 覆盖,因此二者是相互矛盾的
回复 使用道具 举报
复习了,好好看看这抽象类:)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马