我有以下两个班级。是否适当实施?
public class A {
private String name;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
public class B extends A {
public B(A a){
this.setAge(a.getAge());
this.setName(a.getName());
}
public void doSomeThing(){
//do something with age and name data
}
}
谢谢!
答案 0 :(得分:1)
当然,在某些情况下,您的选择是正常的,但以下解决方案更“经典”:
class A {
private String name;
private String age;
A(String name, String age) {
this.name = name;
this.age = age;
}
// getters, setters
}
class B extends A {
private String c;
public B(String a, String b, String c){
super(a, b);
this.c = c;
}
public void doSomeThing(){
//do something with age and name data
}
//getters, setters
}
答案 1 :(得分:0)
您不需要B类中的构造函数,因为B类已经具有A类的属性。
public class B extends A {
public void doSomeThing(){
//do something with age and name data
// You can use getAge() and getName() here directly:
System.out.println(getName());
}
}