用自己写的一些代码来举例:
User是父类
package GoodsAndUser;
public class User {
private int userNumber;
private String userName;
private String userChiper;
private String identity;
public void setUser(int userNumber,String userName,String userChiper){
this.userNumber=userNumber;
this.userName=userName;
this.userChiper=userChiper;
}
public int getUserNumber() {
return userNumber;
}
public void setUserNumber(int userNumber) {
this.userNumber = userNumber;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserChiper() {
return userChiper;
}
public void setUserChiper(String userChiper) {
this.userChiper = userChiper;
}
public String getIdentity(){
return "user";
}
}
Cashier和Steward是子类
A extends B 表示 A 继承 B2
java 中只能单继承不能一个子类继承多个父类,但可多层继承
package GoodsAndUser;
public class Cashier extends User{
private String identity="收银员";
public String getIdentity() {
return identity;
}
}
package GoodsAndUser;
public class Steward extends User{
private String identity="管理员";
public String getIdentity() {
return identity;
}
}
由于Cashier类和Steward类都会有userNumber,userName,userChiper,identity
这些属性,于是可以把它们的共有属性提取出一个父类User,这样可以减少重复代码,同时子类又可保有自己特殊的属性,而且子父类可以有User user = new Cashier(),User user = new Steward()这样的转型,不过user不能使用子类的独特字段,只能使用User中的字段或子父类共有字段。