声明:本栏目所使用的素材都是凯哥学堂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 反馈出去。)
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范围)
HashCode申请方式:
继承:
1.派生
2.规范:做一个父类,父类上只有空方法,要求子类重写这些方法。
实现一种编程方式,面向父类编程。(拿父类做类型,拿子类实现)
抽象类:
让你更好的实现父类编程。
父类上写了抽象方法子类就必须重写父类的抽象方法。
抽象类的规则:
1.抽象类不可以直接new对象。
2.java中不允许多继承。
3.要想创建抽象类对象,就必须有子类。
普通抽象类:有抽象方法,也有实现方法。(有抽象方法也有其他方法)
纯抽象类:只有抽象方法,无其他方法。(全部都是抽象方法)
定制了规范,要求子类必须实现。
抽象类申请方式:加abstract 关键字!
图1:父类 : 变成抽象方法可以不要大括号。
图2:子类:父类申请了抽象方法,必须要重写父类的抽象方法才可以,不然会报语法错误。
不是抽象方法可以不重写。
C++对抽象类的应用:多继承:
1.继承一个类
2.继承多个抽象类
接口:接口解释纯抽象类转变过来的。
java不能多继承,但是可以单一继承,可以实现更多接口。
里面只有方法声明没有方法实现:
JDK1.7以后(接口可以申请静态方法)
JDK1.9 (接口可以申请default实力方法)
接口是一个纯抽象类,java只可以单一继承,但是可以多继承多个抽象类(接口),这样更加的规范、严格。
接口的魅力:
数据库有很多个,每个数据库厂方数据库的访问方式都不一样,数据库会不定时更新,更新后的代码也会发生变动。
Java把数据库申请方式的方法申请到了接口之中,把接口做好了让数据库厂方去实现。就是java把接口的规范制定好了,让数据库厂方来实现接口的连接。
Java制定了游戏规则,至于完成的怎样就让业界的程序员来评价,评价好的就有市场,这样连接数据库出现问题,就与java无关,是数据库实现者没有实现好!
程序员只要学会一种接口的使用就可以了,不需要学习其他的连接方式就可以操作数据库。