面向对象-继承

版权声明:文章为本人原创, 转载请注明出处(fxyh97.com), 以及作者(fxyh) https://blog.csdn.net/qq_37872792/article/details/83448486

JavaSE学习笔记第八天-面向对象之继承

欢迎大家来我的个人博客:https://www.fxyh97.com/index.php/archives/13/

  • 继承是什么

    • 重用现有的类来生成新类的一种特征;
    • 通俗地讲就是从现有的类(即父类或基类)创建新类(子类或派生类)的过程。
  • 继承时构造方法的调用

    • 继承是调用方法是使用super();调用,而且在构造方法的第一行,如果没有写构造super(),jvm会自动添加一个super();调用父类无参的构造方法。如果写了super();则是调用父类对应参数的构造方法。
  • super关键字的作用

    • super就相当于调用本类时的this关键字,可以调用父类的构造方法,父类的成员变量,成员方法。
  • Java中继承的特点

    • 单继承,不能逆向继承,就像是我继承了你,你不能再继承我。而且也不能继承多个类。
  • 方法重写时注意事项

    • 权限修饰符的权限只能扩大,不能缩小,返回值类型要一样,参数类型和个数要一样,最主要的是方法名要一样。
    • 可以在方法前加@Override检测是否构成了重载。
  • final关键字及常量

    • final修饰类时,这个类不能被别的类继承。
    • 修饰成员变量时,一定要初始化,只能被赋值一次。
      • 常量是只有一份的而且不能修改的。

      • 常量命名字母全部大写,多个单词之间用_间隔。一般这样定义:public static 常量类型 常量名 = 常量值;

      • 之前一直搞错了,以为用final修饰成员变量是,就是常量,其实不是,因为常量是只有一份的,所以还要static修饰的才是常量。

    • 修饰形参时,
      • 如果这个形参是基本数据类型,这个参数只能通过传入赋值,在方法内部不能赋值。
      • 如果是引用数据类型,则是在方法内可以改变值,但是改变值不能让内存地址改变,也就是说,这时候内存地址只能通过传入。
    • 修饰方法的时候,这个方法不能被重写。
  • 访问修饰符的权限

    • public 公共的,所有地方都可以访问

    • protected 保护的,在同一个包中和不同包中继承关系可以访问

    • default(默认的,不写修饰符) 在同一个包中的类可以访问

    • private 私有的,类的内部可以访问

      本类 同一个包中 子类 不同包中
      public 可以 可以 可以 可以
      protected 可以 可以 可以 不可以
      default 可以 可以 不可以 不可以
      private 可以 不可以 不可以 不可以

猜你喜欢

转载自blog.csdn.net/qq_37872792/article/details/83448486