练习1:创建一个类,它包含一个未初始化的String引用。验证该引用被Java初始化成了null。
class Test{
String s;
}
public class Initialization {
public static void main(String[] args) {
Test t=new Test();
System.out.println("s=: "+t.s);
}
}
s=: null
练习2:创建一个类,它包含一个在定义时就被初始化了的String域,以及另一个通过构造器初始化的String域。这两种方式有何差异?
class Test{
String s1;
String s2="haha";
String s3;
Test(){
s3="hehe";
}
}
public class Initialization {
public static void main(String[] args) {
Test t=new Test();
System.out.println("s1= "+t.s1);
System.out.println("s2= "+t.s2);
System.out.println("s3= "+t.s3);
}
}
结果:初始化效果相同,成员变量定义初始化定义时确定构造初始化构造时确定
s1= null
s2= haha
s3= hehe
练习3:创建一个带默认构造器(即无参构造器)的类,在构造器中打印一条消息。为这个类创建一个对象。
class Test{
Test(){
System.out.println("this is a Test");
}
}
public class Initialization {
public static void main(String[] args) {
Test t=new Test();
}
}
练习4:为前一个练习中的类添加一个重载构造器,令其接受一个字符串参数,并在构造器中把你自己的信息和接受的参数一起打印出来。
class Test{
Test(){
System.out.println("this is a Test");
}
Test(String s){
System.out.println("Test: "+s);
}
}
public class Initialization {
public static void main(String[] args)