Maybe this is a very basic question because I am a newbie in Java. Here I have one abstract class and its subclass, but the subclass variable value is not changing as per my expectation. Please let me know the reason
public abstract class NameEncrypt {
public NameEncrypt(String n) {
encryptn(n);
}
public abstract void setName(String n);
public void encryptn(String n) {
setName(n+"dummy");
}
}
Now one User
class as a subclass. I need to modify the name
property with the help of the abstract class.
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;
}
}
The test class is given below:
public class Test {
public static void main(String [] args){
User user = new User("java");
System.out.println("User clas name property is-"+user.getName());
}
}
I expected 'javadummy' as output, but I am getting null as output. Why?
Have I misunderstand the abstract class concept?