抽象方法不能为private,final或者static,为什么?
师徒行者 人气:04)抽象方法不能为private,final或者static, native, synchrozied为什么?【新手可忽略不影响继续学习】马克-to-win:抽象方法的最实质的意义在于被未来的子类覆盖实现掉。它自己是个空方法。private的实质意义在于本类其他方法调用它。你自己是个空方法,别人调用你有什么用?所以abstract和private在一起毫无意义。final规定子类不能再覆盖它。abstract是专等着要别人来覆盖,二者矛盾。所以不能放在一起使用。有关static,我们上一章讲过: 马克-to-win:static方法是静态方法,可以直接被类名所调用。而abstract方法是无方法体的方法,直接调用毫无意义,所以矛盾了。顺便说一下,抽象方法也不能为native和synchronized,native说明此方法正在用其他语言(c)编写,此方法是c写的。你java这里却声明说方法是空的,这不符合逻辑。synchronized说明这个方法和另外一个实在做事的方法不能同时执行。而现在你自己却是一个空方法,这也毫无意义。
更多内容请见原文,原文转载自:https://blog.csdn.net/qq_44639795/article/details/103117593
加载全部内容