继承

继承

1.1继承的作用

继承属于面向对象三大特性中的第二项特性

在我们写代码定义类时,可能会有很多相同的属性和方法,那么未来继续编写类似的类,这些属性还会重复,很麻烦,继承既可以优化这种情况

1.2继承介绍

继承时Java中实现代码重用的重要手段之一,在继承概念中会引申出“父类”和“子类”,就像现实生活中的父子一样,子女时父辈的继承热,可以继承父辈的财产。Java中只支持单根继承,即一个类只能有一个直接父类(你只能有一个亲生父亲)

1.3继承的使用

第一步,编写父类(将子类中公有(会重复的)的属性和方法提取到父类中)

public class Pet{
    //  公共的属性和方法(会重复的属性方法)
}

第二步,编写子类,继承父类(继承家产,接手父亲留下的遗产)这样子类就拥有了父类中的方法和属性,只需要再写自己独有的内容即可。

public class Dog extends Pet{
    // 子类特有的属性和方法
}

1.4super关键字

super和this类似,this表示当前类的一个实例,而super表示当前类的父类的一个实例。都是一个“实例代词”

比如:教室门开了,小明进来了,我们可以说时 他进来了,小强进来了,我们也可以说时他进来了,谁现在进来了,谁就是所谓的“他”。

1.super代表父类对象,只能出现在子类的方法和构造方法中。

2.在子类构造方法中调用且必须时第一句。

3.不可以访问父类中定义未private的属性和方法。

  • 访问父类构造方法
super();
super(XXXX);
  • 访问父类属性
super.name;
  • 访问父类方法
super.print();

在这里关于继承情况下的构造方法的调用规则需要简单阐述几点

1.如果子类的构造方法中没有通过super显示调用父类的有参构造方法,也没有同过this显示调用自身的其它构造方法,则系统会默认先调用父类的无参构造。在这种情况下写不写super();语句是一样

2.如果子类的构造方法中通过super显示调用父类的有参构造方法,那将执行父类相应构造方法,而不执行父类无参构造方法。

3.如果子类的构造方法中通过this显示调用自身的其它构造方法,在相应构造方法中应用以上两条规则。

4.特别注意的是,如果存在多级继承关系,在创建一个子类对象时,以上规则会多次向更高一级父类应用,一直到执行顶级父类Object的无参构造方法为止。

继承的注意事项

1,继承需要子类和父类有is a 的关系。比如 Pet(宠物)is a Dog(狗类)的父类

2.子类只能继承父类非私有的成员,不能继承构造方法,如果不同包,也不能继承默认访问修饰符的成员。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值