黑马程序员

来源:互联网 发布:js添加dom 编辑:程序博客网 时间:2024/05/22 19:53

博客:------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

                                                                           java常用API

一:Object类
(1)是定义在java.lang包下的,是所有类的超类。所有类都直接或者间接的继承自Object类。
父类:超类,根类,基类。
子类:派生类。
(2)要掌握的方法:
public String toString():返回对象的字符串表示形式。
默认情况下的组合:类的全路径名称+@+对象的哈希值的十六进制表示。
这种做法对我们来说,一般没有意义,所以,建议重写。
重写做法:一般是把所有的成员变量组合成一个字符串返回。
实在不愿意自己写,自动生成。
public boolean equals(Object obj):比较对象的地址值是否相同。
默认情况下,比较的是对象的地址值是否相同。
如果有自己的特殊需求,请重写Object类的该方法。
怎么重写呢?


public boolean equals(Object obj) {
if(this == obj) {
return true;
}


if(!(obj instraceof Student)) {
return false;
}


Student s = (Student) obj;
return this.name.equals(s.name) && this.age == s.age;
}




如果有多个成员变量,把多个比较用&&连接即可。
引用类型用equals()方法。
基本类型用==号即可。
实在不愿意自己写,自动生成。


public int hashCode():获取对象的hash地址值  如果重写,则返回重写之后的逻辑结果

二:==和equals()的区别?
==:
可以比较基本类型,也可以比较引用类型。
比较基本类型,比较的是值是否相同。
比较引用类型,比较的是地址值是否相同。
equals:
只能比较引用类型。
默认情况下,比较的是地址值是否相同。
如果想比较内容,请自己重写Object类的equals()方法。

三:Math类的随机数(掌握)
类名调用静态方法。

包:java.lang
类:Math
方法:public static double random():

java.lang包下的类是不用导包就可以直接使用的。


产生1-100之间的随机数:
int number = (int)(Math.random()*100)+1;

四:Scanner的概述(理解)
(1)Scanner是JDK5以后出现的方便我们从键盘接受数据的类。
(2)Scanner的构造格式:
Scanner sc = new Scanner(System.in);


System.in 是System类下面有一个静态的成员变量in。它的类型是InputStream。
 代表的是标准键盘输入流。也就是键盘录入数据。
Scanner是对其进行了封装,提供了各种转换功能。方便我们获取到想要的数据类型的数据。
(3)要掌握的两个功能:
A:返回int类型
public int nextInt()
B:返回String类型
public String nextLine()
public String next()

注意事项:
先next,再nextLine会有问题。
解决方案:
重新建立Scanner对象。//一般不会这样做。因为消耗资源
根据需求,选择合适的方法。
统一一种方法

四:StringBuffer类(掌握)
(1)StringBuffer:是字符串缓冲区类,容量可以改变。
(2)面试题:
String和StringBuffer的区别?
String的长度固定。
StringBuffer的长度可变。
StringBuffer和StringBuilder的区别?
StringBuffer的线程安全,效率低。
StringBuilder的线程不安全,效率高。
(3)StringBuffer的构造方法
A:StringBuffer sb = new StringBuffer();
B:StringBuffer sb = new StringBuffer(int capacity);
C:StringBuffer sb = new StringBuffer(String s);


注意:StringBuilder的功能和StringBuffer一模一样。前者是JDK5以后出现的。
(4)要掌握的功能:(请自己把对应的方法写出来)
A:添加功能
B:删除功能
C:其他功能
替换功能
截取功能
反转功能
(5)案例:
把一个字符串反转。

五:基本数据类型包装类(掌握)

        

六:System(掌握)
(1)系统类,通过了静态的方法供我们使用。
(2)要掌握的功能:
A:exit(int i)  //退出VM
B:currentTimeMillis() //获取当前毫秒值  可以用来测算程序运行的时间
C:arraycopy() //arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 
      从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束
D:getProperties()     获取系统属性值 
   
gc():跟finalize()进行辨析   //调用垃圾回收器(暗示!)

0 0