传智博客JAVA基础第九天

一.Object类
*** 1.equals方法
equals()方法通常是用来比较两个对象是否相同的. 这个方法在Object类中定义, 默认就是比较两个对象的地址是否相同.
如果我们希望比较两个对象的属性是否完全相同, 可以在自定义的子类中重写这个方法, 在方法中比较属性.
Java提供的类中大多都重写了这个方法, 例如String, 两个String对象只要内容相同, equals()方法返回的结果就是true.
  * 2.toString方法
toString方法是Object类中定义的一个方法, 这个方法可以把对象转为一个字符串
Object类中默认的实现是返回"类名@地址"
如果我们不想返回默认值, 那么可以在子类中重写这个方法, 返回我们希望的数据
在使用print()或println()方法时, 其内部会自动调用toString方法
在字符串和对象相加的时候, 也会调用对象的toString方法
二.组合设计模式
1.什么是组合设计模式
在定义一个类的时候, 如果需要使用另一个类的方法, 可以使用继承, 也可以使用组合设计模式.
2.什么时候用组合设计模式
某些情况下两个类没有逻辑上的父子关系, 不适合用继承.
Java中一个类只能继承一个类, 组合设计模式不占用继承的位置, 它还可以继承其他类.
3.组合设计模式的写法
定义一个需要使用类型的成员变量
在构造函数中接收一个该类型对象, 用成员变量引用
需要使用该类方法时, 通过成员变量调用
三.多态
*** 1.什么是多态
一段代码运行出多种形态. 
我们可以把函数的形参定义为父类类型, 在实际调用时所有子类对象都可以传入.
传入的子类对象不同, 将调用不同的方法.
四.抽象类
1.什么是抽象类
抽象类就是用abstract关键字修饰的类, 其中可以包含抽象方法.
2.什么是抽象方法
抽象方法就是用abstract关键字修饰的方法, 可以不写方法体. 仅代表子类具有这个方法.
3.什么时候使用抽象方法和抽象类
在多个类具有相同的方法声明时, 可以抽取出父类.
多个类中完全相同的方法, 可以直接定义在父类中.
多个类中方法签名相同, 但方法体不同, 可以在父类中定义抽象方法, 不写方法体. 
定义了抽象方法的类必须是抽象类.
这样做父类中的代码被复用了, 不必每个子类写重复的代码. 而且父类可以作为一个函数的形参, 更好的支持了多态.
  * 4.抽象类的特点
用abstract修饰
不能创建对象
可以定义抽象方法
  * 5.抽象方法的特点
没有方法体
子类必须重写
在使用多态的时候, 可以用一个引用子类对象的父类变量调用抽象方法, 然后执行的就是子类的方法
五.模板设计模式
1.什么是模板设计模式
模板设计模式也是代码重用的一种方式, 如果多段代码中每次都有相同的步骤, 就可以使用模板设计模式
2.模板设计模式的写法
定义一个模版类, 一个模板方法, 该方法中把每次都一样的代码写好. 每次不同的代码用抽象方法代替.
定义一个抽象方法, 以后使用的时候, 子类重写抽象方法即可.
为了禁止子类修改模板方法, 该方法应该用final修饰

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值