Java抽象类没有按预期工作

时间:2016-09-24 16:17:59

标签: java

也许这是一个非常基本的问题,因为我是Java的新手。这里我有一个抽象类及其子类,但是子类变量值没有按照我的期望改变。请让我知道原因

public abstract class NameEncrypt {
    public NameEncrypt(String n) {
        encryptn(n);
    }

    public abstract void setName(String n);

    public void encryptn(String n) {
        setName(n+"dummy");
    }
}

现在有一个User类作为子类。我需要在抽象类的帮助下修改name属性。

public class User extends NameEncrypt {
    private String name=null;

    public User(String name) {
        super(name);
    }

    public String getName() {
        return this.name;
    }

    public void setName(String n) {
        System.out.println("override=="+n);
        this.name=n;
    }
}

测试课程如下:

public class Test {
    public static void main(String [] args){
        User user = new User("java");
        System.out.println("User clas name property is-"+user.getName());
    }
}

我期待' javadummy'作为输出,但我输出为null。为什么呢?

我是否误解了抽象类概念?

0 个答案:

没有答案