继承——知识点

继承:extends

语法:子类的名字 extends 父类的名字

父类:

public class Uncle {

    private String name;

    private int age;

    public void fahongbao(){

        System.out.println("舅舅发红包");

    }

}

子类一:

public class UncleOne extends Uncle{

    public void chouyan(){

        System.out.println("大舅喜欢抽烟");

    }

    public void fahongbao(){

        System.out.println("大舅家道中落,发不起红包了,该送祝福了");

    }

}

子类二:

public class UncleTwo extends Uncle{

    public void hejiu(){

        System.out.println("二舅喜欢喝酒");

    }

    //方法的重写  复写  覆写

    public void fahongbao(){

        System.out.println("二舅不仅发红包还送茅台");

    }

}

1.子类能够继承到父类所有的不是的私有的属性和方法

2.子类能够复写父类的方法,如果没有复写,调用的是父类的方法,子类一旦复写,优先调用复写后的方法

3.除了复写,子类可以扩充父类没有的方法

优点:

1.实现代码的复用

2.有利于子类代码的扩展

多重继承 不允许 语法错误

public class Temp extends UncleOne,UncleTwo{

}

多层继承:

public class Uncle {

    private String name;

    private int age;

    public void fahongbao(){

        System.out.println("舅舅发红包");

    }

}

public class UncleOne extends Uncle{

    public void chouyan(){

        System.out.println("大舅喜欢抽烟");

    }

    public void fahongbao(){

        System.out.println("大舅家道中落,发不起红包了,该送祝福了");

    }

}

public class UncleUneSon extends UncleOne{

    public void fahongbao(){

        System.out.println("大舅的儿子厉害了,接着发红包");

    }

}

类继承的加载顺序

先加载父类在加载子类

祖先类的构造方法最先执行,祖先类最先被创建出来,其次是父类,最后是子类

在构造方法当中会隐性的调用super()超类  父类的无参构造方法

final  最终的最后的

被final修饰的成员不可以被改写

1.final修饰的变量值不能发生修改PI=3.1415

修饰基本类型数据,其值不能发生改变;修改引用数据类型,例如数组,数组中的值可以发生修改,但是数组名不能指向新的空间

2.final修饰的方法不能被重写

3.final修饰的类不能被继承

你可能感兴趣的:(继承——知识点)