程序员

java之继承

2020-08-28  本文已影响0人  是归人不是过客
hello kitty

一、基础

引入类的继承的作用:代码重用

语法:
[修饰符列表] class 子类名 extends 父类名{
类体;
}

举个栗子:

父类:

public class Student{
    public void m3() {
        System.out.println("m3...");
    }
}

子类:

public class people extends Student{
    public void m1() {
        System.out.println("m1...");
    }
    public void m2() {
        System.out.println("m2...");
    }
}

调用:

public class p{
    public static void main(String [] args) {
        people p = new people();
        p.m2();
    p.m3();
    p.m1();
    }
}

二、java语言中,类和类之间只支持但继承(一个类继承另一个类后就不能继承别的

类了)一个类如果没有显示的继承其他类,则该类默认继承object,object是SUN提

供的java中的根类

再举个栗子

父类:

public class Time {
    
}

子类:

public class MyDate extends Time{

}

注意:MyDate除了继承Time之外,还间接 继承了Object

调用:

public class p{
    public static void main(String [] args) {
        MyDate md = new MyDate();
        String s = md.toString();
        System.out.println(s);
    }
}

输出:tranc.MyDate@7d6f77cc

注释:Object是根类,toString()是Object中的方法

三、
1、java语言中一个子类继承父类,会将父类中的所有数据都继承,包括私有的

2、子类中无法直接访问父类中的所有私有数据,但是可以间接访问(父亲给了儿子
一吨金子,放在了仓库里,儿子只能用要是才能得到金子,即setter、getter)

3、构造方法无法被继承

再举个栗子

父类、超类:

// 账户类
public class Account {
    //账号
    private String actno;
    
    //余额
    double balance;
    
    //Constructor
    /*Account(){}
    Account(String actno,double balance){
        this.actno = actno;
        this.balance = balance;
    }*/
    // setter and getter
    public void setActno(String actno) {
        this.actno = actno;
    }
    public String getActno() {
        return actno;
    }
}

子类:

public class DebitAccount extends Account{
    // 信誉度
    double debit;
}

调用:

public class p{
    public static void main(String [] args) {       
        // 创建信用卡对象
        DebitAccount da = new DebitAccount();
        
        //给信用卡号赋值
        da.setActno("007");
        
        System.out.println(da.getActno()); // 读取
    }
}

输出:007

上一篇 下一篇

猜你喜欢

热点阅读