相关疑难解决方法(0)

有没有办法在Java中覆盖类变量?

class Dad
{
    protected static String me = "dad";

    public void printMe()
    {
        System.out.println(me);
    }
}

class Son extends Dad
{
    protected static String me = "son";
}

public void doIt()
{
    new Son().printMe();
}
Run Code Online (Sandbox Code Playgroud)

功能doIt将打印"爸爸".有没有办法让它打印"儿子"?

java inheritance overriding

152
推荐指数
8
解决办法
18万
查看次数

为什么不抽象领域?

为什么Java类不能像抽象方法一样具有抽象字段?

例如:我有两个扩展相同抽象基类的类.这两个类每个都有一个相同的方法,除了一个String常量,它常常是一个错误消息.如果字段可以是抽象的,我可以使这个常量抽象,并将方法拉入基类.相反,我必须创建一个抽象方法,getErrMsg()在这种情况下调用,返回String,在两个派生类中重写此方法,然后我可以拉出方法(现在调用抽象方法).

为什么我不能开始抽象领域?Java可以设计为允许这样吗?

java methods field abstract

92
推荐指数
2
解决办法
5万
查看次数

标签 统计

java ×2

abstract ×1

field ×1

inheritance ×1

methods ×1

overriding ×1