风也温柔

计算机科学知识库

java中private抽象方法 java 抽象方法是静态方法吗_java的抽象方法为什么不能是static、fi

  1、java的抽象方法为什么不能用修饰?类抽象方法?

  如上代码,在抽象类中定义属性是没有问题的,但是定义抽象方法时是不能定义为静态()的java中private抽象方法,否则编译器会报错:The geta in type can only set a , one of or

  我们只定义静态方法完全OKjava中private抽象方法 java 抽象方法是静态方法吗_java的抽象方法为什么不能是static、fi,因为静态方法是属于类的,所以静态方法必须满足给类调用,如果通过类无法调用,那么这种静态方法肯定是不对的。为了达到这一要求,方法就必须有方法体,即已经实现了,也就不是抽象方法了。所以静态()方法不能是抽象方法,即不能与同时修饰方法。即没有类抽象方法。

  如果和一起修饰已经实现的方法呢?

  编译时会报错: do not a body

  即只要有修饰方法java中private抽象方法,则必须定义为抽象方法的格式,否则编译报错。其次,在main方法中调用静态方法编译器没有报错,但是运行时会报错:

   in "main" java.lang.Error: :

  The out in type can only set a , one of or

   do not a body

  at ..out(.java:6)

  at ..main(.java:10)

  2、不能和final一起出现

  修饰的类需要被子类继承,修饰的方法需要子类重写,但是final修饰的类不能被继承,final修饰的方法也不能被子类重写。

  3、不能和同时出现

  因为修饰的方法必须通过子类重写才有效,而修饰的方法对子类不可见,即父类中如果存在 void out();而子类中有 void out(){},则它们是两个不同的方法,子类中的out方法不是对父类的重写,而是属于子类独有的方法。

  报错:The out in type can only set a , one of or

  文章来源:https://blog.csdn.net/weixin_30388691/article/details/114084840