黑马程序员技术交流社区
标题:
关键字abstract不能和private、final、static共存吗?
[打印本页]
作者:
微--尘
时间:
2016-7-6 23:21
标题:
关键字abstract不能和private、final、static共存吗?
关键字abstract不能和private、final、static共存吗?为什么?
作者:
cat73
时间:
2016-7-6 23:58
abstract 的东西是还没实现的,用处是让子类去实现。
而 final 会禁止子类修改,如果加上 final 则子类无法去实现,所以 final 不能与 abstract 共存
private 同理,private 的东西子类看不到,自然无法去实现它
作者:
新人—小明同学
时间:
2016-7-7 13:06
1:static.被abstract修饰的方法没有方法体,被static修饰,可以用类名点调用,但是类名点调用抽象方法是没有意义的.
public final abstract void print();
2:final.被abstract修饰的方法强制子类重写,被final修饰的不让子类重写,所以他两是矛盾的.
3:private.被abstract修饰的是为了让子类看到并强制重写.
被private修饰是不让子类访问,所以他两是矛盾的.
作者:
南无ice
时间:
2016-7-7 14:30
其实这个不难理解,因为abstract是将共性的内容抽取出来的抽象类。为了给别人继承而用,而另外三个关键一个是私有,一个修饰为常量,一个是类直接调用。就和之前的继承冲突了。
作者:
他的好
时间:
2016-7-7 20:16
abstract 抽象的意思,修饰的方法强制让子类去重写。
final 最终的意思,修饰变量的话会变成常量,修饰类的话该类无法继承,更不能让子类去重写
private 私有的意思,修饰的成员只能在本类中看到,子类无法继承,子类都无法访问
static 静态的,修饰的可以通过类名调用,abstract修饰的方法没有方法体。类调用抽象方法没有意义
作者:
Vision-V
时间:
2016-7-7 21:08
①static 这个修饰符修饰后就可以直接使用类名调用了,但是抽象方法连大括号都没有,调用没有什么实际意义.
②private 这个是私有的意思,父类用来修饰不给子类访问的,跟抽象方法矛盾了,这样子类怎么重写你的方法,抽象类的继承在子类里要重写方法啊!
③final 这个词修饰的方法,不给重写,矛盾!
作者:
15620608429
时间:
2016-7-7 22:41
abstract是修饰抽象类和抽象方法及接口的修饰符,private是私有的,子类中需要重写父类方法,父类私有你看不到,矛盾。static和final都差不多是矛盾的,所以不饿能够共存
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2