Java学习笔记九(面向对象三大特性之继承)

过了N久终于到继承了....


继承:
  1、 定义: 当一个类的功能不够用时,在不修改此类的基础上,将此类的功能继承到另一个自定义的类中,再扩展其他功能。
                    父类也叫超类。"is - a"的关系,也称基类和派生类

  2、 要求: (1)不能选择性的继承父类(子类继承了父类除静态方法外的所有方法,包含私有方法和属性,但是子类没有权限使用父类的私有方法和属性,所以对子类来说父类的私有方法和属性对其不可见,而不是没有继承)
                    (2)父类可以有多个子类,子类只能有一个父类,不允许多继承,允许多层继承。
                    (3)父类不可以访问子类特有成员。
  3、 实现: class A extends B{}

  4、 父子类下构造方法的特点:
       (1)子类不能继承父类的构造方法,子类的构造过程中必须调用其父类的调用方法(父类构造方法没有的话子类也没办法构造)
       (2)子类调用父类的构造方法,一般用super(),super只能出现在子集构造方法的第一行。
       (3)父类必须有无参构造方法,且如果父类同时有带参构造方法时,需要显式标注。否则影响子类对象的创建。

                如果子类的构造方法没有显式标注,则默认调用父类的无参构造方法;如果父类没有显式的无参构造方法,则编译失败。

       (4)子类能自己选择父类的不同参数的构造方法。

       (5)普通方法中不能调用父类的构造方法。

       (6)super关键字代表父类的引用,可以调用父类的属性和方法。构造方法调用时this和super不能同时出现

                一个super使用的有趣的例子:

              public interface A{

                    default void show(){

                           System.out.println("我是默认方法");}

              }

             public class B implements A{

                   public void show(){

                           A.super.show();    //想要调用A中的方法的话用这种写法

                           System.out.println("重写默认方法");}

               }

   5、 继承的初始化顺序: 父类静态成员 --> 子类静态成员 --> 父类的构造方法 --> 子类的构造方法

   6、访问修饰符:

访问修饰符

本类

同包

子类

其他

public





protected




 

默认



 

 

private


 

 

 

   7、 Java中所有类的父类都是Object,默认继承。

   8、 子类最好不要和父类属性同名。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值