day11

抽象类、接口

抽象类

abstract定义:
修饰符,修饰的类不能被实例化
修饰的成员方法没有方法体,需要子类覆写
抽象类中可以没有抽象方法,但是抽象方法必须在抽象类中
抽象类一般用于被继承,而抽象方法只能用于被子类覆写
如果一个非抽象类继承一个抽象类,则必须实现所有的抽象方法
如果一个抽象类继承一个抽象类,则可以实现0到多个抽象方法
abstract和final不能同时出现

面向对象

面向过程:完成一件事的步骤
面向对象:侧重于分工作去做
类:定义模板,根据属性定义变量,根据属性定义方法
对象:模板的具体实现,是个体,属性有具体值
对象的创建: 类类型 变量 = new 类();
静态:所有对象共享,属性和值都相同
成员:对象不共享,属性相同,值不同
package:解决命名冲突,一般域名 倒叙.项目.模块
import:导包,直接写类名使用
final:修饰类不能被继承,修饰的方法不能覆写,修饰的变量在生命周期内不能更改,没有默认值,修饰常量一般是public static final 常量名;
继承:代码复用 class类extends 父类名{}
多态:父类引用指向子类对象 缺点:丢失子类特有属性
优点:耦合度降低,依赖抽象而不依赖具体实现
多种形式:直接多态 父类 变量 = new 子类()
实参形参
返回值
隐式多态:通过子类对象调用父类方法时,父类方法中上下文环境变成多态环境
父类没有直接报错
父类有子类没有执行父类
父类子类都有,除了成员方法执行子类其余执行父类
覆写:父类功能无法满足子类时,返回值,方法名,参数列表 必须一致,不能有更宽泛 的异常,不能有更低的 访问权限
Object:是java提供的根类(祖宗),如果一个类没有显示继承一个父类的话,则该类默认继承Object,所有类都必须是Object的后代,所以 Object中的所有成员 ,是所有类都有的属性和行为
equals:比较两个对象是否相等
toString:返回该对象的字符串描述,输出一个引用类型的变量是,会自动调用该对象的toString方法
hashCode:生成唯一的hash值,hash冲突,多个对象可能生成相同的hash值
finalize
垃圾自动回收
被回收之前,会调用调用该对象的finalize方法
可以通过 System.gc() 建议回收

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值