1 API

API(Appplication Programming Interface)利用编程接口,是提供个开发人员的查问手册,外面记录的是类的阐明,这些类将底层的代码进行了封装,在Java语言中所有能够调用的货色都是API.

2 JKD 包构造

为了便于应用和保护,JDK依照性能将类进行了划分归类。罕用的包如下所示:

性能
java.lang提供利用 Java 编程语言进行程序设计的根底类,该类不必导入就能够间接应用
java.util蕴含 collection 框架、遗留的 collection 类、事件模型、日期和工夫设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)
java.io通过数据流、序列化和文件系统提供零碎输出和输入
java.net提供用于网络应用程序的类
java.math与数学运算无关的类
java.awt蕴含用于创立用户界面和绘制图形图像的所有类
java.securuty为平安框架提供类和接口
java.text提供以与自然语言无关的形式来解决文本、日期、数字和音讯的类和接口。
java.sql提供应用 JavaTM 编程语言拜访并解决存储在数据源(通常是一个关系数据库)中的数据的 API。

3 Object

Object 是类层次结构的根类。每个类都应用 Object 作为超类。所有对象(包含数组)都实现这个类的办法。

3.1 罕用的办法:

//批示其余某个对象是否与此对象“相等”。boolean equals(Object obj)//当垃圾回收器确定不存在对该对象的更多援用时,由对象的垃圾回收器调用此办法。protected void finalize()// 返回该对象的哈希码值。 int hashCode()//返回该对象的字符串示意。String toString() 

3.1.1 equals(Object obj)

package com.mtingcat.javabasis.api;/** * 测试equals * @author MTing * */public class objectEquals {    public static void main(String[] args) {        /**         * 对于根本类型来说‘==’比拟的是属性的值         */        int a = 100;        int b = 200;        int f = 100;        char c = 'a';        char d = 'b';        char e = 'a';        System.out.println(a==b);//false        System.out.println(a==f);//true        System.out.println(c==d);//false        System.out.println(c==e);//true                /**         * 对于援用类型来说,比拟的是对象的地址         */        Animals cat = new Animals();        Animals dog = new Animals();        Animals Tom = dog;                System.out.println(cat.equals(dog));  //false        System.out.println(cat==dog);  //false        System.out.println(Tom.equals(dog));  //true                    }}class Animals{}

3.1.2 toString()

① Object类中的toString()办法默认返回示意该对象的字符串
② 字符串的模式:类名+@散列码(十六进制的整数)
③ 散列码是依据地址值通过算法计算失去的一个整数
④ 这个字符串在理论开发中没有什么意义,在子类中重写该办法使其具备非凡意义
⑤ 重写规定:通常此办法将对象的属性值作为字符串返回
⑥ 任何援用类型和字符串连贯的后果都是字符串而java运行时实际操作是调用其toString()办法,将返回的字符串与字符串连贯的

package com.mtingcat.javabasis.api;public class objectTostring {    public static void main(String[] args) {        Animals1 Cat = new Animals1("Tom",2,"boy","MTing");        System.out.println(Cat);//不重写toString()就是应用的Object提供的默认形式只能打印对象在内存的地址    }    }class Animals1{    //定义类的属性    String name;    int age;    String sex;    String owner;    public Animals1(){}    public Animals1(String name, int age, String sex, String owner) {        super();        this.name = name;        this.age = age;        this.sex = sex;        this.owner = owner;    }    @Override    public String toString() {        return "Animals [name=" + name + ", age=" + age + ", sex=" + sex + ", owner=" + owner + "]";    }        }

3.1.3 hashCode()

返回对象的哈希码(一串32位的二进制数据),要留神的是当equals()办法为true时哈希码值必须统一,然而哈希码值统一不肯定使得equals()办法返回true。

package com.mtingcat.javabasis.api;public class objectHashCode {    public static void main(String[] args) {        //比拟根本类型的时候判断的是值        int a = 'a';        int b = 'a';        System.out.println(a);//97        System.out.println(a==b);//true                //比拟对象的时候比拟的是对象的地址值        Integer c = 100;        Integer d = 2000;        Integer f = c;                System.out.println(c==d);//false        System.out.println(c==f);//true                //equals()用来比拟对象的地址值        System.out.println(c.equals(f));//true                //测试hashCode()哈希值        System.out.println(c.hashCode());//100        System.out.println(d.hashCode());//2000        System.out.println(f.hashCode());//100            }}