Java笔记,类的继承

关于java语言当中的继承:

  • 1.继承是面向对象三大特征之一,三大特征分别是:封装、继承、多态

  • 2.继承“基本”的作用是:代码复用,但是继承最最最“重要”的作用是:有了继承才有了以后“方法的覆盖“多态机制”。

  • 3.继承语法格式:
    [修饰符列表] class 类名 extends 父类名{
    类体 = 属性 + 方法
    }

  • 4.java语言当中的继承只支持单继承,一个类不能同时继承很多类,只能继承一个类。在C++中支持多继承。

  • 5.关于继承中的一些术语:
    B类继承A类,其中:
    A类称为:父类、超类、superclass
    B类称为:子类、派生类、subclass

  • 6.在java语言当中子类继承父类都继承哪些数据呢?
    - 私有的不支持继承
    - 构造方法不支持继承
    - 其它数据可以被继承
    -

  • 7.虽然java语言当中只支持单继承,但是一个类也可以间接继承其他类,例如:

      C直接继承B类,但是C类间接继承T、A类。
      
      C extends B{
      }
      B extends A{
      }
      A extends T{
      }
    
  • 8.java语言中假设一个类没有显示的继承任何类,改类默认继承java库当中提供的java.lang.Object类。
    java语言中任何一个类中都有Object类的特征,直接或间接的继承自Object类。

  • 9.IDEA中查看本类的父类?如何查看父类中的方法(也是方法重写的快捷键)?
    把光标移动到本类中,按 Ctrl + h
    把光标移动到本类中,按 Ctrl + o


测试类(ExtendsTest)

public class ExtendsTest {
    
    

    int i;

    public static void main(String[] args) {
    
    
//        ExtendsTest et = new ExtendsTest();
//        String s = et.toString(); // 这里编译通过了,这说明可以调用toString方法,ExtendTest类中又toString方法,从Object类中继承过来的。
//        System.out.println(s); //

        CreditAccount act = new CreditAccount();
        act.setActno("act-001");
        act.setBalance(-1000.0);
        act.setCredit(0.99);

        System.out.println(act.getActno()+","+act.getBalance()+","+ act.getCredit());
    }
}

账户类(Account)

public class Account {
    
    

    // 属性
    private String actno;
    private double balance;

    // 构造函数
    public Account(){
    
    
    }
    public Account(String actno,double balance){
    
    
        this.actno = actno;
        this.balance = balance;
    }

    // getter and setter
    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;
    }
}


信用账户类 (CreditAccount.class)


// 创建账户类继承账户类
public class CreditAccount extends Account{
    
    

    private double credit;

    public CreditAccount(){
    
    
        super();
    }

    public double getCredit(){
    
    
        return credit;
    }

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

运行结果:

act-001,-1000.0,0.99

猜你喜欢

转载自blog.csdn.net/weixin_44630560/article/details/105790591