抽象方法不能为private,final或者static,为什么?
2014-08-20 13:33
330 查看
4)抽象方法不能为private,final或者static,为什么?马克-to-win:抽 象方法的最实质的意义在于被未来的子类覆盖实现掉。它自己是个空方法。private的实质意义在于本类其他方法调用它。你自己是个空方法,别人调用你有 什么用?所以abstract和private在一起毫无意义。final规定子类不能再覆盖它。abstract是专等着要别人来覆盖,二者矛盾。所以 不能放在一起使用。有关static,我们上一章讲过:马克-to-win:static的成员是在程序执行到main时就已经确定的。
要不为什么起名叫静态static呢?而本章后面,我们要讲多态的动态方法调度。动态方法调度就是指在运行时才决定执行哪个方法(是子类的还是父类的)。 比如运行时如果用户输入自行车,就执行自行车的驾驶方法。马克-to-win:如果用户输入小轿车,就执行小轿车的驾驶方法,涉及到用户,这些都只能在运 行时才能干。而abstract一定用到动态方法调度。所以这静态和动态二者是矛盾的,不能一起用。因为道理是这样,所以当时sun公司的设计者就这样设 计了.。。。。。。。。。
详情请见:http://www.mark-to-win.com/JavaBeginner/JavaBeginner3_web.html#AbstractNotFinalPrivateStatic
要不为什么起名叫静态static呢?而本章后面,我们要讲多态的动态方法调度。动态方法调度就是指在运行时才决定执行哪个方法(是子类的还是父类的)。 比如运行时如果用户输入自行车,就执行自行车的驾驶方法。马克-to-win:如果用户输入小轿车,就执行小轿车的驾驶方法,涉及到用户,这些都只能在运 行时才能干。而abstract一定用到动态方法调度。所以这静态和动态二者是矛盾的,不能一起用。因为道理是这样,所以当时sun公司的设计者就这样设 计了.。。。。。。。。。
详情请见:http://www.mark-to-win.com/JavaBeginner/JavaBeginner3_web.html#AbstractNotFinalPrivateStatic
相关文章推荐
- java中抽象方法不能为private,final或者static
- java建立一个类时为什么设置private static final long serialVersionUID??
- 为什么构造器不能是abstract, static, final, native or synchronized的?
- 关于this和super关键字为什么不能再static方法中或者静态代码块中
- [转]构造函数为什么不能被abstract/static/final/native/stricftp/synchronized修饰 及 一些关键字的用法
- Java中static为什么不能修饰局部变量?
- Java修饰符:private、default、protected、public、static、abstact、final
- private static final long serialVersionUID = 1L;
- Java的外部类为什么不能使用private、protected进行修饰
- 为什么接口要规定成员变量必须是public static final的呢?
- private static final 和 private final
- private,static,final,abstratr区别
- 使用反射变更 private static final field
- 一句话说明为什么abstract方法不能是static的
- java -private,this,static关键字 和构造方法,final关键字
- 为什么用static来修饰方法或者变量?用处?
- 为什么接口中的成员变量非得是public static final?
- 详解: private static final long serialVersionUID = 1L
- private static final long serialVersionUID的作用
- 修饰符(public、private、static、final)简单理解