一、成员变量初始值
1、测试
class Test06_Num{
//定义一个数据类
//在类中定义各种类型的变量,但是不给值
int i;
byte b;
short s;
long l;
float f;
double d;
char c;
boolean bool;
String str;
}
public class Test06_Son{
//定义主方法
public static void main(String[] args){
Test06_Num tn = new Test06_Num(); //实例化对象
//输出各个变量的默认值
System.out.println("int= " + tn.i);
System.out.println("byte= " + tn.b);
System.out.println("short= " + tn.s);
System.out.println("long= " + tn.l);
System.out.println("float= " + tn.f);
System.out.println("double= " + tn.d);
System.out.println("char= " + (int)tn.c); //默认是看不到的空格
System.out.println("boolean= " + tn.bool);
System.out.println("String= " + tn.str);
}
}
2、结果
二、object类
1、简单说明
(1)在Java中,万事万物皆对象,就是说所有的类都要继承object类。
(2)我们自己写的类,即使没有定义任何内容,可实际上它是继承与object类的,因此它默认就有一些方法是可用的。
2、object类中的常用方法
(1)clone()
保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。
(2)getClass()
final方法,返回Class类型的对象,反射来获取对象。
(3)toString()
该方法用得比较多,一般子类都有覆盖,来获取对象的信息。
(4)finalize()
该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。
(5)equals()
比较对象的内容是否相等
(6)hashCode()
该方法用于哈希查找,重写了equals方法一般都要重写hashCode方法。这个方法在一些具有哈希功能的Collection中用到。
(7) wait()
wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait()方法一直等待,直到获得锁或者被中断。wait(long timeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。
(8)notify()
该方法唤醒在该对象上等待的某个线程。
(9)notifyAll()
该方法唤醒在该对象上等待的所有线程。