一、什么是继承
继承在现实世界中也是存在的,例如:父亲很有钱,儿子不用努力也很有钱
二、继承的作用:
基本作用:子类继承父类,代码可以得到复用。
主要作用:因为有了继承关系,才有了后期方法覆盖和多态机制。
三、语法
java 中继承的语法格式:
class B extends A{
类体;
}
B继承A类,则A类称为父类、超类、基类
B类称为子类、派生类、扩展类
public class Test13{
public static void main(String [] args){
Account act= new Account();
act.setActno("1111111");
act.setBalance(1000000);
System.out.println(act.getActno());
System.out.println(act.getBalance());
CreditAccount ca=new CreditAccount();
ca.setActno("22222");
ca.setCredit(0.99);
System.out.println(ca.getActno());
System.out.println(ca.getCredit());
}
}
//银行账户号和余额
class Account{
private String actno;
private double balance;
public Account(){
}
public Account(String actno,double balance){
this.actno=actno;
this.balance=balance;
}
public void setActno(String actno){
this.actno=actno;
}
public String getActno(){
return actno;
}
public void setBalance(double balance){
this.balance=balance;
}
public double getBalance(){
return balance;
}
}
//子类 继承父类的除构造方法之外的所有东西
//账号、余额、信誉
class CreditAccount extends Account{
private double credit;
public CreditAccount(){
}
public void setCredit(double credit){
this.credit=credit;
}
public double getCredit(){
return credit;
}
}
四、继承的几个特性
1、java中不支持多继承,只支持单继承。
calss B extends A,C{} 这是错误的。不能同时继承两个以上。
2、虽然java中不支持多继承,但有的时候会产生间接继承的效果。比如可以Y继承X,Z继承Y,这样Z相当于继承了X和Y
3、java中规定,子类继承父类,除构造方法不能继承外,剩下的都可以继承。但是私有的属性无法在子类中直接访问(可以通过间接的方式来访问)。
4、java 中的类没有显示的继承任何类,则默认继承 Object类,Object类是 java 语言提供的根类(老祖宗类),也就是说,一个对象与生俱来就有 Object类型中所有的特征。
比如class x{} 后面啥也没写,其实是继承了Object类
Object是老祖宗类。
5、继承也是有缺点的,耦合度高,父类修改,子类也受牵连
6、子类也可以通过子类对象调用父类的方法,本质上,子类继承父类之后,是将父类继承过来的方法归为自己。实际上调用的也不是父类的方法,是他子类自己的方法。
什么时候使用继承
假设以后的开发中有一个A类,一个B类,A类和B类确实也有重复的代码,那么他们两个之间就可以继承吗?不一定,还是要看A与B是否有属于关系。