java 静态方法可以重载吗重写呢

发布网友 发布时间:2022-04-20 02:51

我来回答

5个回答

热心网友 时间:2023-09-05 20:52

可以被重载,不可以被重写。

静态方法是类在加载时就被加载到内存中的方法,在整个运行过程中保持不变,因而不能重写。但非静态方法是在对象实例化时才单独申请内存空间,为每一个实例分配独立的运行内存,因而可以重写。

所谓静态就是在运行时,虚拟机已经认定此方法属于哪个类。 专业术语有严格的含义,用语要准确,重写只能适用于实例方法。不能用于静态方法,对于静态方法,只能隐藏,重载,继承。

扩展资料:

如果子类中定义的静态方法(类方法)与父类中静态方法(类方法)具有相同的返回值类型、方法名、方法参数的类型和个数完全相同,则称子类中的该方法“隐藏”了父类中的该方法。当子类创建的对象调用该隐藏方法时,默认调用的是子类中的方法。

方法重写是要注意权限的问题,子类中的权限不能小于父类的权限,当父类的权限为private时,子类无法继承。也就无法产生所谓的重写。(修饰符高低:private < 默认修饰符 < public)

参考资料来源:百度百科-方法重写

热心网友 时间:2023-09-05 20:52

JAVA静态方法形式上可以重写,但从本质上来说不是JAVA的重写。因为静态方法只与类相关,不与具体实现相关,声明的是什么类,则引用相应类的静态方法

热心网友 时间:2023-09-05 20:53

可以重载,不可以重写追问是吗 怎么我自己编程可以重写的?

追答

你是说A类里面有个静态方法a

然后B类继承自A类,你能在B类里重写a方法?

给你举个例子吧:

A.java

public class A {
    public static void a(){}
}

B.java

public class B extends A {
    @Override
    public static void a(){     
    }
}

你试试看这能编译成功吗?

热心网友 时间:2023-09-05 20:53

静态方法可以重载
子类是静态类才可以重写

热心网友 时间:2023-09-05 20:54

可以重载,但是不能重写
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com