- 默认构造器创建一个类(没有自变量),打印一条消息。创建属于这个类的一个对象。
class Bowl {
Bowl(){
System.out.println("this is class Bowl");
}
}
public class Test {
public static void main(String[] args) {
new Bowl();
}
}
运行结果:
this is class Bowl
2. 练习1的基础上增加一个过载的构造器,令其采用一个String的变量, 并随同自己的消息打印出来。
class Bowl {
Bowl(){
System.out.println("this is class Bowl");
}
Bowl(String s){
System.out.println("this is class Bowl " + s);
}
}
public class Test {
public static void main(String[] args) {
new Bowl("hello");
}
}
运行结果:
this is class Bowl hello
3. 以练习2创建的类为基础,创建属于它对象句柄的一个数组,但不要实际创建对象并分配到数组里。运行程序时,注意是否打印来自构建器调用的初始化信息。
class Bowl {
Bowl(){
System.out.println("this is class Bowl");
}
Bowl(String s){
System.out.println("this is class Bowl " + s);
}
}
public class Test {
public static void main(String[] args) {
Bowl[] b = new Bowl[5];
System.out.println(b.length);
}
}
运行结果:
5
这种方式并没有实际创建Bowl对象,故没有调用Bowl的构造器。
仅仅表示创建Bowl句柄数组,数组内的句柄此时都为null。
- 创建同句柄数组联系起来的对象,并最终完成练习3。
class Bowl {
Bowl(){
System.out.println("this is class Bowl");
}
Bowl(String s){
System.out.println("this is class Bowl " + s);
}
}
public class Test {
public static void main(String[] args) {
Bowl[] b = new Bowl[5];
for(int i = 0;i < b.length; i++){
b[i] = new Bowl();
}
System.out.println(b.length);
}
运行结果:
this is class Bowl
this is class Bowl
this is class Bowl
this is class Bowl
this is class Bowl
5
此时创建5个Bowl对象,并将其与句柄数组关联起来。