黑马程序员
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
一.Object类:
1.所有引用数据类型的超类(数组、类库中的类、我们自定义的类)
2.我们的类继承了Object后,就拥有了从Object继承的方法:
class Object{
public int hashCode(){
//功能:返回一个int值,作为哈希表的键值;
//默认实现:根据对象的"地址"生成的一个int值。不同的对象,会返回不同的值;
//后期,我们子类会重写的。
}
public final Class getClass(){
//功能:获取此类的Class对象
//默认实现:获取Class对象
//最终方法,不能被子类重写
}
public String toString(){
//功能:返回此对象的字符串表示形式;
//默认实现:类名 + @ + 十六进制的地址(我们没用)
//重写:将内部所有成员的属性值,连成一个字符串返回即可;
}
public boolean equals(Object obj){
//功能:与参数对象比较是否相等;
//默认实现:跟参数比较"地址"是否相等;如果相等则返回true。(我们没用)
//重写:将我们对象的所有的属性值与参数的相应属性值进行比较,如果"全部相等"返回true,否则返回false;
}
protected void finalize(){
//功能:当垃圾回收器回收此对象前,会先调用此方法,之后,变删除此对象空间;一般是释放内存资源;
//默认实现:无(空方法)
//根据需要可重写
}
protected Object clone(){
//功能:复制此对象的副本
//默认实现:本地方法实现
//根据需要重写;注意:需要被赋值的类,一定要实现Cloneable接口
}
}
二.String类:
1.代表一个字符串对象;
2.一个字符串对象的"值"是不能改变的;但引用可以改变;
3.特点:可以直接赋值一个"字面量";
4.典型的面试题:
String s1 = "abc";
String s2 = "abc"
String s3 = new String("abc");
System.out.println(s1 == s2);//true
System.out.println(s1 == s3);//false
-----------------------------------------------------------
String s1 = "Hello";
String s2 = "World";
String s3 = "HelloWorld";
String s4 = "Hello" + "World";
String s5 = s1 + "World";
String s6 = "Hello" + s2;
String s7 = s1 + s2;
System.out.println(s3 == s4);//true
System.out.println(s3 == s5);//false
System.out.println(s3 == s6);//false
System.out.println(s3 == s7);//false
5.构造方法:
public String():实例化一个空字符串;效果相当于:String s = "";
public String(byte[] bytes):使用一个byte[]数组构造一个字符串。(将一个byte[]数组转换为一个String)
public String(byte[] bytes,int offset,int length):将一个byte[]数组的一部分转换为一个String
public String(char[] value):将一个char[]数组转换为一个String;
public String(char[] value,int offset,int count):将一个char[]数组的一部分转换为一个String
public String(String original):使用一个String构造一个新的String
6.常用方法:
1).判断功能:
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/68052.html