为什么Java中的静态 方法 不能是 抽象的

2025-03-04 04:28:04
推荐回答(2个)
回答1:

不可以。
我是这样理解的:抽象类是不能实例化的,即不能被分配内存,而static修饰的方法在类实例化之前就已经别分配了内存,这样一来矛盾就出现了:抽象类不能被分配内存,而static方法必须被分配内存。所以抽象类中不能有静态的抽象方法。
这和接口是一样的,接口中的方法也只能是
public
abstract修饰的,不能加上static。

回答2:

概念问题:
static静态方法又叫类方法,意义在于不用实例化对象即可直接调用,
而abstract
修饰的抽象方法,是没有方法体的,本身没有任何意义,它
的价值在于被继承重写,但是重写是基于对象的。
所以这两者从最基本的概念都是冲突的。