API中的基本介绍

1.Object

1.什么是API

  • 全称:application programming interface

  • 应用程序接口

  • 函数与类的集合

  • 类库,类的仓库,别人写好的类


2.介绍6个包

  • java.lang

    • 语言包,最基础的包

    • 导入lang包下直接的类

    • lang包的类是不需要导入的

    • 如果要导入子包下的类则要

      • import java.lang.reflect.*;

  • java.util

    • 集合框架,帮助包

  • java.io

    • 文件操作的包

  • javax.swing\java.awt

    • Java的图形化界面

  • java.sal

    • 用来连接数据库的包

  • java.net

    • 用来对网络进行操作

3.复习引用数据类型和基本数据类型、基本数据类型的封装类、堆栈

  • OOP面向对象:

    • 万事万物皆为对象

    • 对象的组成:属性+方法(功能)

3.1 引用数据类型

3.2 基本数据类型的封装类

  • Java在八种基本数据类型的基础上又定义八种封装类

    基本数据类型封装类
    byteByte
    shortShort
    intInteger
    longLong
    floatFloat
    doubleDouble
    charCharacter
    booleanBoolean

  • java中int和Integer区别
    • int是基本的数据类型,默认值可以为0;

    • Integer是int的封装类,默认值为null;

    • int和Integer都可以表示某一个数值;

    • int和Integer不能够互用,因为他们两种不同的数据类型;

3.3 堆栈

  • 存储方式
  • 值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中

  • 值类型:基本数据类型,比如int、double、long等

  • 应用类型:类、接口、String等

4.equals和==的区别(String类的声明方式)

  • ==操作比较的是两个变量的值是否相等,对于引用型变量 表示的是两个变量在堆中存储的地址是否相同,即栈中的 内容是否相同!

  • ==比较的是对象的地址

  • equals操作表示的两个变量是否是对同一个对象的引用,即 堆中的内容是否相同 !

  • equals比较的是对象存的内容

4.1怎么使用equals和==

  • API里的类大部分都重写了equals方法,没有重写的一般是自己写的类,如果是你自己定义的一个类,比较自定义类用equals和==是一样的,都是比较句柄地址,因为自定义的类是继承于object,而object中的equals就是用==来实现的

5.重写

  • toString()重写

    public String toString(){
        String str="";
        ....
        return str;
    }

  • hashCode()重写

    public int hashCode(){
        Int n;
        ...
        return n;
    }

  • equals()重写

    public boolean equals(Object obj){
        return (this==obj)
    }
    • java语言对equals()的要求如下

      • 对称性::如果x.equals(y)返回是“true”,那么y.equals(x)也应该返回是“true”

      • 反射性:x.equals(x)必须返回是“true”。

      • 类推性:如果x.equals(y)返回是“true”,而且y.equals(z)返回是“true”,那么z.equals(x)也应该返回是“true”

      • 一致性:如果x.equals(y)返回是“true”,只要x和y内容一直不变,不管你重复x.equals(y)多少次,返回都是“true”。

      • 任何情况下,x.equals(null),永远返回是“false”;x.equals(和x不同类型的对象)永远返回是“false”。

6.了解hashCode()

6.1 equals和hashCode()区别

  • equals()和hashCode()都来自java.lang.Object;可以重写:

  • hashCode()的值也是与内存地址相关的.所以仅当内存地址相等时,hashCode才相等

  • 通常不需了解,但当你用到hashmap,hashset等集合类时要注意下hashcode。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值