java中的继承:
1、继承是java面向对象的三大特征之一,三大特征包括:封装、继承和多态。
2、继承的作用
继承的“基本”作用是代码复用;继承的“重要”作用是有了继承才有后来的“方法的覆盖”和多态机制。
3、继承的语法格式
[修饰符列表] class 类名 extends 父类名{
类体 = 属性 + 方法
}
4、java只支持单继承;一个类只能继承一个父类,不能同时继承多个类。c++支持多继承。
5、继承中相关术语:
B类 extends A类
A类可被称为:父类、基类、超类、superclass。
B类可被称为:子类、派生类、subclass。
6、java中子类继承父类都继承哪些数据?
i. 私有的不支持继承;
ii. 构造方法不支持继承;
iii. 其他数据都支持继承;
7、虽然java只支持单继承,只能直接继承一个类,但是也可以间接继承其他类:
C extends B{
}
B extends A{
}
A extends T{
}
其中C类直接继承B类,C类间接继承A类、T类。
8、当java语言中某个类没有显示继承任何类,那么这个类默认继承JavaSE库当中提供的java.lang.Object类。
Object是老祖宗类。java语言中任何一个类都具有Object类的特征。
创建账户类:
//账户类
public class Account {
private String cardId;
private double money; //私有的变量不继承,但是通过公开的方法可以进行设置
public Account() {
}
public String getCardId() {
return cardId;
}
public void setCardId(String cardId) {
this.cardId = cardId;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
}
创建信用账户类:
//信用账户类
public class CreditAccount extends Account{ //重复的直接使用extends继承
private double credit;
public CreditAccount() {
super();
}
public double getCredit() {
return credit;
}
public void setCredit(double credit) {
this.credit = credit;
}
}
通过测试类观察调用以及输出:
//测试类
public class ExtendsTest {
public static void main(String[] args) {
CreditAccount cac = new CreditAccount();
cac.setCredit(500.0);
//通过信用账户类调用账户类中的方法
cac.setMoney(2999.9);
cac.setCardId("1903");
System.out.println(cac.getCardId()+","+ cac.getMoney()+","+cac.getCredit());
//可以正常调用
}
}
结果输出为:
1903,2999.9,500.0