《J2SE 回炉再造10》-------溺水狗

第四章 面向对象编程基础篇(6)

  1. Java相关API介绍
    当大家从“HelloWorld”接触到Java时,证明我们正式诞生Java世界的新手村中,当我们在新手村练到一定等级时,渴望去更大的世界去看看,打更多的怪(类),获得更多的宝藏(方法),游戏里会对怪进行介绍,方便玩家掌握其弱点,进而击杀,而API就是Java世界的怪物宝鉴,记录了Java世界所有的怪(类)和宝藏(方法),当我们完全掌握API可以说Java世界任你遨游。下面简单说下获取方法(以Java8为例):
  1. Object类部分方法描述
  • toString()方法
    在这里插入图片描述
  • toString()方法测试
    这里的(“d=” + d)等于(“d=” + d.toString())。
    哈希编码独一无二的代表了一个对象,并且通过哈希编码可以找到对象的位置。
    在这里插入图片描述
    在这里插入图片描述
  • equals()方法
    在这里插入图片描述
  • equals()方法测试
    在这里插入图片描述
    内存分析:
    在这里插入图片描述
    在这里插入图片描述
    继承自Object类的equals()方法中比较的是对象的引用,故c1==c2的原理等同于c1.equals(c2)。下图是API中关于Object类的equals()方法的简单介绍。
    在这里插入图片描述
    下图对equals()方法进行重写:
    在这里插入图片描述
    测试1:String中的Equals()方法:
    在这里插入图片描述
    内存分析如下图:
    关于字符串内存分析的视频(马士兵)
    有关Java内存分析的大佬博客
    在这里插入图片描述
    在这里插入图片描述
    怕有一天大佬删除博客我找不到就做了截图保存(非原创,侵删)
    在这里插入图片描述
    在这里插入图片描述
    String类中对equals()方法进行了重写如下图:
    在这里插入图片描述
    测试2:String字符串中的equals()方法
    在这里插入图片描述
    内存分析及原理参见上文链接及下一个链接(非原创,向大佬学习)
    在这里插入图片描述
    在这里插入图片描述
    上述有关String字符串的拼接及相关内存分析
  1. 对象转型
    对象转型可带来比较不错的程序可扩展性,但并不是最佳且对在实现Java多态中具有重要意义。
    其中instanceof测试的是对象的实际类型而不是引用类型,具体实例参照下例。
    相关定义及注意事项
    在这里插入图片描述
    实例:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    部分内存分析图

    上述内存图的相关解释: 父类引用指向子类对象(类似门缝里看人)只能看到作为父类的属性和方法,这里a是Animal类型,所以furColor属性访问不到。
  2. 多态/动态绑定
    多态是Java中面向对象的核心部分。
    实现多态必要的三个条件:
    a)必须要有继承。
    b)必须要有重写。
    c)必须要有父类引用指向子类对象。

定义:
在这里插入图片描述
在这里插入图片描述
实例:
在这里插入图片描述
在这里插入图片描述
内存分析图:
在这里插入图片描述
具体的内存分析如不清楚可以参考:马士兵老师多态分析
5. 抽象类(关键字abstract)
为了更便于使用多态,满足其三个必要条件出现了抽象类abstract的概念。
a)含有抽象方法的类必须为抽象类。
b)抽象类必须被继承但抽象类无法实例化。
c)抽象方法必须被重写且抽象方法只需声明无需实现。
在这里插入图片描述
6. Final关键字
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7. 接口(关键字interface)
定义及特性:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接口可以帮助我们实现多重继承这种逻辑,接口和他的实现类之间存在着多态性。
注:一个疑问假设接口A和接口B中存在函数名相同的函数,则它们的实现类是如何实现的?如何解决冲突?情况如下图。
具体疑问链接如下马士兵老师的interface接口实现疑问
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

===========================================

重点总结
在这里插入图片描述
上述总结的相关链接(马士兵版)

注:本博客由溺水狗原创但其学习资源资料来源于网络(马士兵老师的教学视频),特此感谢马士兵老师

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值