一、Object类(java.lang.Object)
1. 特点
1.1 超类、基类、根类,所有类直接或者间接父类
1.2 任何类,如果没有写 extends 显示继承的类,都默认继承Object类
1.3 Object类型的引用能指向任何对象 (多态 父类引用指向子类对象 Object o = new Student();)
1.4 Object类中定义的方法,是所有类都具有的方法
2. 方法
2.1 finalize()
由垃圾回收器在回收垃圾时,调用方法释放内存空间
1) 垃圾对象:没有任何引用指向此对象,为垃圾对象
new A(); //垃圾对象
A a=new A();
a=null; // new A(); 没有引用指向它,变成垃圾对象
2) 垃圾回收机制
a. 自动回收机制
JVM内存耗尽时,不能再为新对象分配空间时,一次性回收所有垃圾对象
b. 手动回收机制
使用System.gc(); 通知JVM执行垃圾回收
2.2 getClass()
返回对象的实际类型
如:Animal a=new Dog();
Animal a1=new Cat();
Dog d=new Dog();
System.out.println(a.getClass()); //Dog
System.out.println(a1.getClass()); //Cat
System.out.println(a.getClass()==d.getClass()); //true
2.3 toString()
返回对象的String类型形式,打印一个对象引用就是打印这个对象的 toString 方法的返回值
一般子类覆盖toString方法返回对象的字符串形式,调用的话以子类toString方法优先
public String toString(){
return "熊猫名字叫做:"+name+" 年龄:"+age; //信息表达式 属性跟字符串的拼接组成的
}
2.4 equals()
1)判断两个对象内容是否相同
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2); //判断地址是否相同
boolean b=s1.equals(s2); //判断内容是否相同
System.out.println(b);
2)重写equals方法
public boolean equals(Object o){ //Object o=new Student("小黑");
if(this == o)return true; //判断当前对象和传递进来的参数地址是否相同
if(o == null)return false; //判断o引用是否指向对象的内容
if(this.getClass() != o.getClass())return false; //判断类型是否相同
Student s=(Student)o; //大类型转换成实际类型,需要强转
if(this.name.equals(s.name) && this.age==s.age)return true; //通过属性判断内容是否相同
else return false; //属性内容不相同
}
二、包装类
1. 概念:为了让Object类型的引用能够表示基本类型,八种基本数据类型所对应的引用数据类型
包装类的默认值是 null
对于数值类型的属性,可以区分 0 值和 null 值
2. 对应:八种基本数据类型对应的包装类
byte -----> Byte
short -----> Short
int -----> Integer
long -----> Long
float -----> Float
double -----> Double
char -----> Character
boolean ----> Boolean
3. 类型转换
3.1 int 类型转换成 Integer类型 Integer i =new Integer(整数);
3.2 String类型转换成 int 类型 int a=Integer.parseInt(字符串整数);
如果传的参数不是字符串类型整数,java.lang.NumberFormatException 数字格式异常
3.3 String类型转换成 Integer类型 Integer i1=Integer.valueOf(字符串整数); //String类型整数转换成Integer类型
4. JDK5.0 后基本数据类型和对应包装类型自动转换(int 和 Integer混用)
三、String类(java.util.String)
1. 概念
1.1 字符串是常量,创建之后就不能改变
1.2 字面值存储在常量池中,可以共享
1.3 优点:字符串常量能够重用,提高了利用率 //串池资源共享
缺点:做字符串加法时会产生大量小字符串 //字符串拼接
1.4 方法:length(); //计算字符串长度的方法
toUpperCase(); //字符串小写字符转大写
toLowerCase(); //字符串大写转小写
split("指定规则"); //将字符串按指定规则拆分成字符串String类型数组
2. StringBuffer(可变长字符串)(java.util.StringBuffer)
2.1 用来替换字符串,能够更高效的完成字符串的拼接
StringBuffer sb =new StringBuffer("abc"); //可变长的字符串类
sb.append("d");
sb.append("e");
sb.append("f");
sb.append("g");
System.out.println(sb);
2.2 操作的还是当前对象
Java零基础(9)Object类、包装类、String类
最新推荐文章于 2022-11-28 17:01:29 发布