继承基础笔记

OOP:面向对象

面向对象原则:

  • 高内聚:提升程序内部的性能
  • 低耦合:降低程序中类之间的依赖关系

1、什么是继承?

  • 允许子类拥有父类的属性和行为(除私有属性和行为)

2、优缺点

优点:提升了代码的复用性

缺点:由于继承会有多层继承关系,层级结构非常复杂。

3、继承的语法

子类 extends 父类

4、super关键字

  • 当创建子类对象时,会调用父类的空参构造器super()
  • super可以通过子类构造器调用父类构造器,可以初始化父类的成员属性
  • super可以调用父类非私有方法
  • super和this同时存在的时候,一定先使用super调用父类构造器,初始化父类成员属性,在使用this关键字初始化子类成员属性
  • 所有的子类都会默认调用父类的空参构造器(默认为空参,一经书写构造器,就没有默认提供的空参构造器了)

5、this关键字和super关键字

this:当前对象(子类对象)

super:代表的是父类

6、方法重写override

定义:方法重写是子类重新定义父类的方法。

必要条件:

  1. 子类重写的方法名、形参列表、返回值和父类完全一致
  2. 子类重写的方法访问修饰符权限不低于父类的访问修饰符

7、方法重载(overload)和方法重写(override)的区别

  1. 方法重载要求在同一个类中
  2. 方法重写必须存在继承关系(子类和父类is-a)
  3. 方法重载要求方法名相同、形参列表不同(类型和数量不同)、和返回值类型无关
  4. 方法重写要求方法名相同、形参列表相同、返回值类型相同

 

面试题目

Java 创建对象的方法?

  • new
  • clone()
  • 反射
  • 反序列化
  •   Object
  1. 它是所有类的基类
  2. toString()方法
    1. 全类名+@+哈希值
    2. 由于所有的类都继承与Object,都可以调用Object中的toString()
    3. 所有的类都可以重写totring()方法
  3. equals()方法
    1. 比较两个对象的地址值是否一致
    2. 在Object类中equals方法底层实现使用的是== (==中基本数据类型比较的是数值,引用数据类型比较的是地址。String中重写了equals()方法,比较的是字符串是否相同)
    3. 所有类都可以重写equals()方法

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Helloworld-睖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值