文档章节

Java基础——面向对象

凯哥学堂
 凯哥学堂
发布于 07/20 22:20
字数 1062
阅读 4
收藏 0

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

Object的方法:
clone() Object 克隆
to String() String 转字符串
equals(Object) boolean 比较对象是否相等
get Class() Class 模板对象,通过此方法获得模板对象。
hashCode() int 转换成数字
gc 垃圾回收

hashCode(): int 转换成数字

hashCode()方法结构讲解:
首先传进来一个int hash值赋给h,然后if判断h等不等于0 ,并且长度大于0。大于0的话里面就有数据,小于0里面没有数据。
接着问char数组里面有没数据,没有直接return h 出去,有的话吧value char 数组交给 val变量,交给val变量后根据value的长度进行循环,循环过程中31*h + value 的第i个。(把char数组里面的数值取出来,进行累加,一直循环,循环累计后交给h ,return 反馈出去。)

image

hash值计算:拿“a,b,c”计算。hash 值:a = 97 b=98 c=99
计算过程:
31 * 0 + 97 = 97
31 * 97 + 98 = 3105
31 * 3105 + 99 = 96354

计算值在int范围内,超过int 就变负数,超过负数又变回正数。(正变负,负变正。围绕着int范围)

image

HashCode申请方式:

image

继承:
1.派生
2.规范:做一个父类,父类上只有空方法,要求子类重写这些方法。
实现一种编程方式,面向父类编程。(拿父类做类型,拿子类实现)

抽象类:
让你更好的实现父类编程。
父类上写了抽象方法子类就必须重写父类的抽象方法。

抽象类的规则:
1.抽象类不可以直接new对象。
2.java中不允许多继承。
3.要想创建抽象类对象,就必须有子类。

普通抽象类:有抽象方法,也有实现方法。(有抽象方法也有其他方法)
纯抽象类:只有抽象方法,无其他方法。(全部都是抽象方法)
定制了规范,要求子类必须实现。

抽象类申请方式:加abstract 关键字!
图1:父类 : 变成抽象方法可以不要大括号。

image

图2:子类:父类申请了抽象方法,必须要重写父类的抽象方法才可以,不然会报语法错误。
不是抽象方法可以不重写。

image

C++对抽象类的应用:多继承:
1.继承一个类
2.继承多个抽象类
接口:接口解释纯抽象类转变过来的。
java不能多继承,但是可以单一继承,可以实现更多接口。
里面只有方法声明没有方法实现:
JDK1.7以后(接口可以申请静态方法)
JDK1.9 (接口可以申请default实力方法)
接口是一个纯抽象类,java只可以单一继承,但是可以多继承多个抽象类(接口),这样更加的规范、严格。

接口的魅力:
数据库有很多个,每个数据库厂方数据库的访问方式都不一样,数据库会不定时更新,更新后的代码也会发生变动。
Java把数据库申请方式的方法申请到了接口之中,把接口做好了让数据库厂方去实现。就是java把接口的规范制定好了,让数据库厂方来实现接口的连接。
Java制定了游戏规则,至于完成的怎样就让业界的程序员来评价,评价好的就有市场,这样连接数据库出现问题,就与java无关,是数据库实现者没有实现好!
程序员只要学会一种接口的使用就可以了,不需要学习其他的连接方式就可以操作数据库。

image

© 著作权归作者所有

共有 人打赏支持
凯哥学堂
粉丝 17
博文 314
码字总数 280608
作品 0
东城
程序员
JAVA基础再回首(三十)——JAVA基础再回首完美结束,感概万千!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m366917/article/details/52724939 JAVA基础再回首(三十)——JAVA基础再回首完美结束,感概万千! 经过了几...

Aduroidpc
2016/10/02
0
0
在.NET平台上使用Scala语言(上):初尝

Scala是Java平台上的一门新兴起的语言,我也不止一次在博客上提到它。我非常希望它可以取代Java这种劣质语言,让Java平台的生产力上一个台阶。事实上,Scala从一开始——或者说“很早”就对生...

mj4738
2011/11/01
0
0
【给初学者】Android学习路线

很多朋友都对学习路线问题感到迷茫,特别是还在上学的朋友们。在这里就详细的为大家介绍一下。 1.Java基础 很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Jav...

Jimmy Xie
2012/09/08
0
1
Java程序员必读书单,家族又添新成员

点击关注异步图书,置顶公众号 每天与你分享IT好书 技术干货 职场知识 参与文末话题讨论,每日赠送异步图书。 ——异步小编 有些革命出其不意地吸引了全世界的眼球。Twitter、Linux操作系统和...

异步社区
05/09
0
0
大数据开发培训:0基础学习Java编程语言有哪些知识点?

Java 技术通用、高效、具有平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网等,学习Java首先要知道学习知识点有哪些。在这就用加米谷大数据培训...

加米谷大数据
07/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

day123-20181021-英语流利阅读-待学习

这款新字体,比记忆面包还管用 Lala 2018-10-21 1.今日导读 字体能跟学习效果有什么关系?你还别说,来自澳洲的心理学家和设计师们,还真创造了一款号称能够帮助大家记忆信息、增强学习效果的...

飞鱼说编程
39分钟前
1
0
CMD命令行:查看 Windows 操作系统的安装时间

电脑越用越卡,计划以后每两个月重新安装一次系统。 那,怎么查看自己系统的安装日期? 问题抛出来了,其实很简单的。 cmd 中输入 systeminfo 命令,回车,等一会 …… 出来结果后,查找下面...

LivingInFHL
今天
3
0
复习

10月19日任务 打印某行到某行之间的内容 sed转换大小写 sed在某一行最后添加一个数字 删除某行到最后一行 打印1到100行含某个字符串的行 一.打印某行到某行之间的内容 #sed -n '/\[abcfd\]/...

hhpuppy
今天
3
0
精通Spring Boot——第十一篇:使用自定义配置

今天这篇文章给大家介绍自定义配置的两种方式 第一式: 使用@ConfigurationProperties,且看代码 package com.developlee.customconfig.config;import org.springframework.boot.context.p...

developlee的潇洒人生
今天
3
0
python:pycharm启动出现异常:io.netty.channel.ChannelException.....

尝试用管理员权限启动终端, 输入: netsh winsock reset 重启电脑. 360的优化搞出来的幺蛾子........

Oh_really
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部