Java类的继承

继承:

        类的继承基本思想是基于某个父类进行扩展,得到一个新的子类,子类可以继承父类的原有属性和方法,也可以增加原来父类所不具备的属性和方法,或者重写父类中的方法;

重写:

        【重写】也可以称为【覆盖】,就是在子类中奖父类的成员方法名保留,重写成员方法的实现内容或更改方法的权限或修改方法的返回值类型,重写父类方法时,修改方法的修饰权限只能从小的范围修改为大的范围改变。

重构:

        【重构】是一种特殊的重写方式,与父类的成员方法唯一不同点是方法的【实现内容】部分,其余的返回值、方法名称、参数类型及个数完全相同。

        子类中没有权限调用父类中【private】权限修饰符修饰的方法,只能调用父类中修饰为【public】和【protected】的成员方法。

1.extends继承父类:        

        Java中通过【extends】关键字来标识两个类的继承关系。 

2.super调用父类:

        通过【super】关键字来调用父类的构造方法和成员方法。

        2.1 super():调用父类构造方法

        2.2 super.父类方法名():调用父类成员方法

package classExtends;

public class Test {
    public Test() {  //构造方法
        //SomeSentence
    }

    protected void doSomething() {   //成员方法
        //SomeSentence
    }

    protected Test doIt() {  //方法返回值类型为Test类型
        return new Test();
    }
}

class Test2 extends Test {   //继承父类Test
    public Test2() {
        super.doSomething();    //调用父类方法
    }

    public void doSomthing2() {  //新增方法
        //SomeSentence
    }

    public void doSomething() {  //重写父类方法
        //SomeNewSentence
    }

    public Test2 doIt() {    //重写父类方法,返回Test2类型
        return new Test2();
    }

}

        当实例化子类对象时,父类对象也会相应被实例化,原因是在实例化子类对象时,Java编译器会在子类的构造方法中自动调用父类的无参构造方法,有参构造方法不能被自动调用,只能通过super关键字显示地调用。

package classExtends;

class Parent {
    public Parent() {
        System.out.println("调用了父类的Parent的构造方法~");
    }
}

class subParent extends Parent {     //继承Parent类
    public subParent() {
        System.out.println("调用了父类的subParent的构造方法~");
    }
}

public class subRoutine extends subParent {      //继承subParent类
    public subRoutine() {
        System.out.println("调用了父类的subRoutine的构造方法~");
    }

    public static void main(String[] args) {
        subRoutine sr = new subRoutine();    //实例化子类对象
    }
}

输出:
        调用了父类的Parent的构造方法~
        调用了父类的subParent的构造方法~
        调用了父类的subRoutine的构造方法~

        如果使用finalize()方法对对象进行清理,要确保子类finalize()方法最后一个动作是调用父类finalize()方法,以保证对象的所有部分都能被正常终止。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chuntian_tester

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值