继承

package jicheng.javase;

public class Account {
    private String actno;
    private double balance;
    
    public Account() {
    }
    
    public Account(String actno, double balance) {
        this.actno = actno;
        this.balance = balance;
    }
    
    public String getActno() {
        return actno;
    }
    
    public void setActno(String actno) {
        this.actno = actno;
    }
    
    public double getBalance() {
        return balance;
    }
    
    public void setBalance(double balance) {
        this.balance = balance;
    }
    
}
package jicheng.javase;

public class CreditAccount extends Account {

    /*
     * 这里继承了Account里面的actno和balance
     * 虽然actno和balance是私有的
     * 但下面的set和get方法间接改变了他们
     * 
     */
    private double credit;
    
    public CreditAccount() {
    }

    public double getCredit() {
        return credit;
    }

    public void setCredit(double credit) {
        this.credit = credit;
    }
    
}
package jicheng.javase;

/**
 * 关于Java语言当中的继承:
 * 
 *         1、继承是面向对象三大特征之一,三大特征:封装、继承、多态
 * 
 *         2、继承“基本”的作用是:代码复用。但是继承最“重要”的作用是:
 *        有了继承才有以后的“方法的覆盖”和“多态机制”。
 * 
 *         3、继承语法格式:
 *             {修饰符列表} class 类名 extends 父类名{
 *                 类体 = 属性 + 方法
 *             }
 * 
 *         4、java语言当中的继承只支持单继承,一个类不能同时继承很多类。
 * 
 *         5、关于继承中的一些术语:
 *             B类继承A类,其中:
 *                 A类称为:父类、基类、超类、superclass
 *                 B类称为:子类、派生类、subclass
 * 
 *         6、在java语言当中子类继承父类都继承哪些数据呢?
 *             - 私有的都不支持继承
 *             - 构造方法不支持继承
 *             - 其它数据都可以被继承
 * 
 *         7、虽然java语言当中只支持单继承,
 *        但是一个类也可以间接继承其他类,例如
 *             C extends B{
 *             }
 *             B extends A{
 *             }
 *             A extends T{
 *             }
 *             C直接继承B类,但是C类间接继承T、A类
 * 
 *         8、java语言中假设一个类没有显示的继承任何类,
 *        该类默认继承javaSE库中提供的java.lang.Object类。
 *         java语言中任何一个类都有Object类的特征
 *
 */
public class ExtendsTest {

    //MyEclipse快捷键:查找类型【Open Type】 ctrl + shift + t
    //MyEclipse快捷键:查找资源【Open Resource】 ctrl + shift + r
    public static void main(String[] args) {

        ExtendsTest et = new ExtendsTest();
        String s = et.toString(); 
        //这里编译通过了,说明可以调用toString方法,
        //ExtendsTest类中有toString方法,从Object类中继承过来的
        System.out.println(s); //jicheng.javase.ExtendsTest@64c3c749
        
        CreditAccount act = new CreditAccount();
        act.setActno("act-001");
        act.setBalance(-1000.0);
        act.setCredit(0.99);
        
        System.out.println(act.getActno()); //act-001
        System.out.println(act.getBalance()); //-1000.0
        System.out.println(act.getCredit()); //0.99
    }

}

 

posted @ 2020-08-12 23:21  Lerresino  阅读(107)  评论(0)    收藏  举报