API
概念:API是应用程序编程接口,指的是java中原来就提供的类和接口中的接口
但一般所说的API指的是API文档,该文档对官方提供的类与接口会进行一个说明,供开发人员学习使用
使用API查阅类的时候可以使用关键字进行查阅,但是在系统化学习的时候尽量还是按照包名来查找
常用类
基本的包装类
在java语言中,提供了八种基础的数据类型,分别是byte,short,int,long,float,double,boolean,char,在目前的阶段实际应用是都是通过声明该类型的变量进行使用,这八种使用方式并不是面向对象的,在使用起来会造成不便,为了解决这种不足,java提供八种不同的包装类来代表这八种数据类型,Short,Integer,Long,Float,Double,Char,Boolean八个类被称为包装类
包装类的主要用途:
● 作为和基本数据类型对应的类类型存在。 ● 包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。
包装类中的常用方法:
八种包装类中的方法时类似的,故以Integer类为代表说明
1.intValue()方法(byteValue(),floatValue(),shortVlaue()……):以int(或者其他形式)返回对象中的属性值
2.compareTo()方法:比较两个对象中包含的基本类型值的大小
3.Integer 变量名称 =new Integer(int 变量名(String 变量名))用构造方法将int型或者String型的数据对属性初始化赋值
4.Integer.valueOf()方法也是用来创建Integer对象并赋予初始值的方法
/* 包装类 对应八种基本数据类型的代表的类,包装类 */ int a =10; Integer b1=new Integer(10);//Integer类对应int型,其中包含一个int型的属性常量,还有很多对对int型数据的操作方法与常量 int c=b1.intValue();//从对象中返回一个int类型值的方法 float f=b1.floatValue();//返回一个float类型的值 Integer b2=new Integer(20); Integer b3=Integer.valueOf(20); System.out.println(b2.compareTo(b1));//使用两个不同对象中的属性进行比较,<返回-1,=返回0,>返回1 //Integer包装类中的静态方法与静态常量 System.out.println(Integer.MAX_VALUE);//表示int数据类型的最大值 System.out.println(Integer.MIN_VALUE);//表示int数据类型的最小值 System.out.println(Integer.max(10,20));//返回两个int型数据中较大一个 System.out.println(Integer.min(10,20));//返回两个int型数据中较小一个 System.out.println(Integer.toBinaryString(5));//将int型数据转换为二进制数 System.out.println(Integer.toOctalString(50));//将int型数据转换为八进制数 System.out.println(Integer.toHexString(300));//将int型数据转换为16进制数
数据的装箱与拆箱
与字面意思类似,装箱的意思就是将基本数据类型转换成对应的包装类,拆箱是指将包装类转换为基本数据类型下面以Integer类型为例进行示范
装箱的语法格式:
Integer 变量名=new Integer(int m);
Integer 变量名=new Integer(String s);
Integer 变量名=Integer.valueOf(int m);
拆箱的语法格式:
int m=对象名.intvalue;
int m=Integer.parseInt(String s);//将String类型转换为int类型//实际上在装箱的第二条语法中的底层调用的就是该方法
自动的装箱与拆箱:
自动装箱:int x=10;
Integer y=x;//自动转换为包装类的类型,实际上在底层调用的是valueOf()方法
自动拆箱:Integer x=new Integer(10);
int y=x;//自动转换为基本数据类型,实际上在底层调用的是intValue()方法
/* 自动的装箱与拆箱 */ Integer x=new Integer(10); int y=x;//自动将包装类型转换为了基本数据类型,实际上底层调用的是intValue方法 System.out.println(y); int a=10; Integer b=a;//自动将基本数据类型转换为了包装类型,实际上底层调用的是valueOf方法 System.out.println(b);
除此之外需要注意一下valueOf方法使用时的差异:
/* 装箱过程中的数据类型转换 */ Integer x=new Integer(10); Integer y=new Integer(10); System.out.println(x==y);//由于是创建了两个对象,而两个对象的地址并不相同,故返回值为flase //利用valueOf方法装箱过程中的差异 Integer a=Integer.valueOf(10); Integer b=Integer.valueOf(10); System.out.println(a==b);//返回值为true,是由于valueOf方法中已经缓存了-128至127的对象, // 故如果使用valueOf方法装箱,在上述区间内装箱同一值会返回同一个对象, //而超过这个区间就会新创建一个对象 Integer c=Integer.valueOf(128); Integer d=Integer.valueOf(128); System.out.println(c==d);//返回值为false System.out.println(c.equals(d));//利用equals方法可以比较包装类中的属性值
在valueOf()方法中已经定义好了区间在-128—127中对应的每一个包装类对象(为了缓存调用),此时如果使用valueOf方法装箱,在上述区间内装箱同一值会返回同一个对象,但是超过这个区间调用该方法就会创建新的对象
Object类
● Object类是所有Java类的祖先(根基类)。每个类都使用 Object 作为超类(父类)。所有对象(包括数 组)都实现这个类的方法。 ● 如果在类的声明中未使用extends关键字指明其基类,则默认基类为
● Object类可以实现多态
Object类 public class Person { ... } 等价于: public class Person extends Object { ... }
Object中常用的方法: public String toString()
toString( )方法:将任意形式的数据转换为String类型的形式,该方法的底层实现是将对象内存中的地址(哈希值)转换为十六进制的数
在输出对象时,对象会默认调用类中的toString()方法
//Object类中的方法 public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } //应用 public static void main(String[] args) { /* Object类中的常用方法: toString()方法,将xxx转换为String类型的形式 */ Car car=new Car("奔驰",500000); System.out.println(car);//com.yzl.javaapi.obj.Car@16d3586,自动调用父类中的toString方法将哈希值的地址直接转换为十六进制数 //若是想要直接输出对象中的内容则可以重写O