zoukankan      html  css  js  c++  java
  • Java基础——面向对象

    声明:本栏目所使用的素材都是凯哥学堂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

  • 相关阅读:
    php pdf添加水印(中文水印,图片水印)
    论文阅读---Reducing the Dimensionality of Data with Neural Networks
    Deep Learning综述[下]
    Install-Package:QRCoder已拥有为System.Drawing.Common定义的依赖项
    linux和windows之间传递文件
    IPV6修复工具
    Deep Learning综述[上]
    novaclient开发中遇到的问题小结
    easybcd删除win10启动项如何恢复?
    uefi+gpt安装双系统
  • 原文地址:https://www.cnblogs.com/kaigexuetang/p/9343892.html
Copyright © 2011-2022 走看看