java基础笔记007 -- 面向对象

java基础笔记007 – 面向对象

今日内容

1. 【理解】什么是继承
2. 【掌握】继承的使用
3. 【理解】继承中的成员的特点
4. 【理解】super和this的作用
5. 【理解】什么是抽象
6. 【掌握】抽象的使用

一、继承

  • 概念

    继承就是子类继承父类的非私有属性和行为,子类对象可直接使用

  • 格式 extends关键字

    class 父类名{ ...  }
    class 子类名 extends 父类名{ …… }
    
  • 好处

    提高代码复用性,用来表示类与类之间的关系,多态的前提之一。

  • 继承中成员的特点

  1. 子类可以拥有自己的属性和方法,同名属性在调用时,采用就近原则

  2. 父类的私有属性,子类不能操作

  3. 当继承中有重名方法时,表示重写,相当于子类重写了父类的方法体,再调用时执行的是重写后的方法。

    重写注意事项:
    1.重写方法的访问权限修饰符权限范围必须大于等于父类中别重写的方法;
    2.除访问权限修饰符和方法体外,其他方法组成部分必须一致。
    
  4. 当子类中有成员变量或子类方法中有参数命名与父类属性相同,使用super.属性名代表父类的属性加以区分

  5. 当子类要调用父类方法是,也可以用super.方法();

  • 方法重写(Override)方法重载(Overload)的区别

    1. 书写位置不同

      方法重写发生在子类与父类继承过程中,方法重载发生在同一个类书写相同方法名

    2. 方法执行不同

      方法重写调用时默认调用子类重写方法,方法重载jvm会自动根据参数列表进行匹配执行

    3. 书写不同

      方法重写修饰符必须大于等于父类(一般就是public),可以修改方法体,但返回值、方法名、参数列表必须相同方法重载只要求方法名相同,参数列表不同即可

二、继承的特点

  • 继承之构造函数
//1.由于构造函数不能被继承,所以子类构造方法中默认调用父类无参构造
super();
//2.当父类自定义构造函数时,子类必须自定义相同参数列表的构造函数并在函数内第一行调用父类对应的构造函数。
public 子类名(参数){
    super(参数);
}
//3.当子类创建对象时,首先创建了父类对象
  • super和this关键字
super: 代表父类对象的引用(父类对象的存储地址)
this:  当前对象的引用
  • 继承特点
// 1. java只支持单继承
// 2. java支持多层继承,A->B B->C C->D
  • 继承关系创建后的存储结构
    在这里插入图片描述
    底层逻辑帮助理解博客:
    Java继承–子类的实例化过程 - Kkky - 博客园 (cnblogs.com)
    JAVA 继承 父类子类 内存分配_smithdoudou88的专栏-CSDN博客

三、抽象类

  • 概念

被abstract关键字修饰的类,public abstract class 类名

  • 抽象方法

abstract修饰的只有方法声明,没有方法体的方法,public abstract int add();

  • 注意
  1. 抽象方法一定在抽象类中,抽象类中不一定有抽象方法
  2. 继承抽象类的话,必须实现所有抽象方法,否则该子类也应是抽象类
  3. 抽象类不能new对象,但可以通过子类创建对象(向上转型)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值