java之继承

作者: 是归人不是过客 | 来源:发表于2020-08-28 12:07 被阅读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

    相关文章

      网友评论

        本文标题:java之继承

        本文链接:https://www.haomeiwen.com/subject/ovrcsktx.html