java中抽象方法不能为private、final或者static,为什么?

如题所述

4)抽象方法不能为private,final或者static,为什么?马克-to-win:抽象方法的最实质的意
义在于被未来的子类覆盖实现掉。它自己是个空方法。private的实质意义在于本类其他方法调用它。你自己是个空方法,别人调用你有什么用?所以
abstract和private在一起毫无意义。final规定子类不能再覆盖它。abstract是专等着要别人来覆盖,二者矛盾。所以不能放在一起
使用。有关static,我们上一章讲过:马克-to-win:static的成员是在程序执行到main时就已经确定的。要不为什么起
名叫静态static呢?而本章后面,我们要讲多态的动态方法调度。动态方法调度就是指在运行时才决定执行哪个方法(是子类的还是父类的)。比如运行时如
果用户输入自行车,就执行自行车的驾驶方法。马克-to-win:如果用户输入小轿车,就执行小轿车的驾驶方法,涉及到用户,这些都只能在运行时才能干。
而abstract一定用到动态方法调度。所以这静态和动态二者是矛盾的,不能一起用。因为道理是这样,所以当时sun公司的设计者就这样设计
了.。。。。。。。。。
详情网上找“马克-to-win”,参考他的网站或他的百度空间:java第三章的内容,如果实在找不到,按我下面说的地址找:

网站名是:mark-to-win.com
再附加上下边的路径地址: /JavaBeginner/JavaBeginner3_web.html#AbstractNotFinalPrivateStatic
温馨提示:内容为网友见解,仅供参考
无其他回答

java中抽象方法不能为private、final或者static,为什么?
private的实质意义在于本类其他方法调用它。你自己是个空方法,别人调用你有什么用?所以\\x0d\\x0aabstract和private在一起毫无意义。final规定子类不能再覆盖它。abstract是专等着要别人来覆盖,二者矛盾。所以不能放在一起\\x0d\\x0a使用。有关static,我们上一章讲过:马克-to-win:static的成员是在...

java中抽象方法不能为private、final或者static,为什么?
义在于被未来的子类覆盖实现掉。它自己是个空方法。private的实质意义在于本类其他方法调用它。你自己是个空方法,别人调用你有什么用?所以 abstract和private在一起毫无意义。final规定子类不能再覆盖它。abstract是专等着要别人来覆盖,二者矛盾。所以不能放在一起 使用。有关static,我们上一章讲过:马...

java中抽象方法不能为private,final或者static,为什么?细细说明,或...
义在于被未来的子类覆盖实现掉。它自己是个空方法。private的实质意义在于本类其他方法调用它。你自己是个空方法,别人调用你有什么用?所以 abstract和private在一起毫无意义。final规定子类不能再覆盖它。abstract是专等着要别人来覆盖,二者矛盾。所以不能放在一起 使用。有关static,我们上一章讲过:马...

java中抽象方法不能使用修饰符_和_修饰
final:抽象方法不允许被final修饰,因为final意味着该方法不能被重写,而在子类中必须实现抽象方法。native:抽象方法不能被native修饰,因为native方法需要有对应的本地实现。private:抽象方法不能被private修饰,因为它需要被子类实现,而private方法无法在子类中继承和实现。static:抽象方法不能被static修...

Java抽象类可以是 final、private 吗
Java抽象类不可以被 final修饰 抽象类需要被继承才能使用,而被final修饰的类无法被继承,所以abstract和final是 不能共存的。①Java抽象类是内部类时,可以被private修饰 如图,不会报错 ②Java抽象类不是内部类时,不可以被private修饰 如图,显示错误:只有public、abstract&fianl是允许的 ...

java 抽象方法可以是static吗
static是静态的。抽象方法的目的是希望子类重写(其实也不能叫重写,应该叫实现)这个抽象方法。而你又定义为static,这里就出现一个问题:static的方法能直接通过类名调用,而你这个方法没有具体的实现,这里就会自相矛盾,所以抽象方法不能用static修饰。java编程一直以来都是互联网上使用比较广泛的一种编程...

java中 抽象类里面可以没有抽象方法吗?为什么
3.根据上面两个特点:抽象类里面可以放一些不想被修改的方法,也不想被创建对象,又可以直接调用;也无法继承!所以就有了这样的类!(至于这中类到底有什么作用,我也不知道,但是他是可以直接拿来就用的)abstract class A{private final static String name="名字";private final int age=10;private ...

...class前面不能加访问修饰符public 或者private
类(class)的修饰符只能是缺省,public, abstract , final 不能是private 在继承的时候要看父类是什么样的,如果父类是final的,那就不能用public修饰子类了 ,因为不能继承该类

java中接口为什么不能定义成私有的方法和属性?
接口不是不能定义final,接口中的变量是public static final所修饰的(是常量)方法是public abstract所修饰的,那个答案有错 接口是对外扩展功能用的,所以只能是public (私有的写成接口有什么用,就好比你电脑的usb插槽是不是只能在外边?假如你把插槽封装到机壳里面有什么意义?)abstract就是和抽象类一...

java中有几种修饰符?
public,protected,default,private,这四种级别的修饰符都可以用来修饰类、方法和字段。2、final修饰符 final的意思是不可变,他可以修饰类、字段、方法。修饰类后类不能被扩展(extends),也就是不能被继承。修饰字段后字段的值不能被改变,因此如果有final修饰字段,应该对字段进行手动初始化。修饰方法后...

相似回答