鱼塘码农

菜鸟学习记录
鱼海无涯

JAVA 继承 笔记

  • 在继承的关系中,子类就是一个父类 一个子类就是一个父类
    *
  • 定义父类的格式,就是一个普通的类
  • 定义子类的格式 extends 父类名称
    *
  • 父子变量重名:
  • 直接通过子类对象访问成员变量:new时等号左边是谁,就优先用谁,没有则向上找
  • 间接通过成员方法访问成员变量:该方法属于谁,则优先用谁,没有则向上找
  • 访问:this.本类;super.父类
    *
  • 父子重名方法:
  • 创建的对象是谁,就优先用谁,如果没有就向上找
    *
  • 注意事项:
  • 无论是成员方法还是成员变量,都是向上找
    *
  • 重写(Override)(覆盖重写)//重载Overload(名称一样,参数列表不一样)
  • 在继承关系中,方法的名称一样,参数列表也一样
  • 特点:创建的是子类对象,则优先用子类方法
  • 注意事项:
  • 1.必须保证父子类之间的方法名称相同,参数列表也相同
  • @Override:写在方法前面,用来检测是不是有效的正确覆盖重写 满足要求,不写也是覆盖重写
  • 2.子类方法的返回值必须【小于等于】父类方法的返回值范围
  • 3.子类方法的权限必须【大于等于】父类方法的权限修饰符。public > protected(default 什么都不写) > private
  • 设计原则:
  • 对于已经投入使用的类,尽量不要进行修改,推荐定义一个新的类,来重复列用其中的共性的内容,并且添加改动新内容
    *
  • 继承关系中,父子类构造方法的访问特点
  • 1.子类构造方法中,有一个默认隐含的“super()”调用,所以一定是先调用的父类构造,后执行的子类构造
  • 2.可以通过super关键字子类构造调用父类重载构造
  • 3.super的父类构造调用,必须是子类构造方法的第一个语句。(必须是构造方法,必须是第一行,只能有一个)
  • 4.子类必须调用父类构造方法,不写则赠送super(),写了则用指定的,必须有且有一个
    *
  • super关键字的用法:
  • 1.在子类的成员方法中,访问父类的成员变量
  • 2.在子类的成员方法中,访问父类的成员方法
  • 3.在子类的构造方法中,访问父类的构造方法
    *
  • this关键字的用法: 用来访问本类的内容
  • 1.在本类的成员方法中,访问本类的成员变量
  • 2.在本类的成员方法中,访问本类的另一个成员方法
  • 3.在本类的构造方法中,访问本类的另一个构造方法(this(),也必须是构造方法的第一个语句,super和this不能同时使用)
    *
  • java语言是单继承的 一个类的直接父类只能有一个
  • java语言可以多级继承
  • 一个父类可以有多个子类
本原创文章未经允许不得转载 | 当前页面:鱼塘码农 » JAVA 继承 笔记

评论