Java的继承

(一)概念

                1、一个新类从已存在的类中获得了其中符合继承条件的属性和方法;

                2、其中新类叫子类(派生类),已存在的类叫父类(基类)。

(二)意义

                1、代码得到了极大的重用,减少代码量;

                2、形成一种类的层次体系结构;

                3、为多态创造条件。

(三)实现方式

                通过extends实现:

class A{
    int i;
    Sring name;
    public void f(){
        System.out.printf("AAAA");
    }
}
class B extends A{
    //B类中已经有A类中属性i、name、方法f
}

(四)继承条件

                1、同包:子类可以继承父类的非私有成员(包括:非私有属性和非私有方法);

                2、不同包:用publib和protected访问修饰符的类,其中非私有成员可被继承。

(五)注意事项

                1、java只支持单继承,不支持多继承;(单继承就是只有一个父类,多继承就是有多个父类。ps:目前仅有c++支持多继承)

                2、子类无法继承父类的构造方法,但可以通过super调用父类的构造方法;

                3、super在继承中使用时,只能用在子类构造函数内的第一条语句,并且super(参数个数)中括号内参数个数必须保证在父类中存在一致数量参数的构造方法,当子类的构造方法中无super时,则程序自动补充super();

class A{
    public A(){
        System.out.printf("AAAA");
    }
    public A(int i){
        System.out.printf("BBBB");
    }
}

class B extends A{
    super();//输出AAAA
    //super(1);//若未屏蔽前面一条语句则erorr,屏蔽输出BBBB
    //super(1,2);//erorr父类A中无两个参数的构造方法
}

(六)方法重写

                1、定义:

                                    a、子类定义父类已有的方法;

                2、条件:

                                     a、重写方法必须与被重写方法具有一样的名字、参数(数量、类型)、返回值;

                                     b、重写方法不能使用比父类中被重写的方法更严格的的访问权限;(保证多态的成立)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值