20200603 接口与继承

2020/06/03 接口与继承

多态

必要条件:继承、方法重写、父类引用指向子类对象

根据传入的参数,系统判断其是父类对象还是哪个子类对象,再根据判断调用对应方法

隐藏/重写

类方法: 又叫做静态方法

对象方法: 又叫实例方法,非静态方法

访问一个对象方法,必须建立在有一个对象的前提的基础上
访问类方法,不需要对象的存在,直接就访问

重写是对于对象方法

隐藏是对于类方法,子类覆盖父类的类方法

super关键字

继承树追溯构造方法第一行会默认调用父类 无参 构造方法

Object类

所有类的父类,声明一个类时,默认继承Object

object类提供toString方法

返回当前对象的字符串表达

finalize()

当一个对象没有任何引用指向的时候,就会被垃圾回收,finalize() 就会被调用

equals()

用于判断两个对象的内容是否相同

==

判断两个对象是否相同/两个引用,是否指向了同一个对象

hashCode()

返回一个对象的哈希值

final修饰符

修饰类:被final修饰的类不可被继承

修饰变量:该变量只有一次赋值机会

修饰引用:该引用只有一次指向对象的机会

抽象类

在类中声明方法,且没有实现体,这样的方法叫抽象方法,使用修饰符"abstract"

一旦一个类被声明为抽象类,就不能够被直接实例化

意义:父类没有实现,子类必须实现,给子类提供规范

抽象类和接口的区别

区别1:
子类只能继承一个抽象类,不能继承多个
子类可以实现多个接口
区别2:
抽象类可以定义
public,protected,package,private
静态和非静态属性
final和非final属性

但是接口中声明的属性,只能是
public
静态
final的
即便没有显式的声明

接口
定义说明

可继承多个接口

只有常量,默认public static final修饰

方法 默认public abstract修饰

默认方法

JDK8新特性,可在接口提供具体方法

default public void 方法名()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值