Thinking in Java 第五章习题(初始化)

这篇博客通过一系列的编程练习,探讨了Java中初始化的概念,包括成员变量的初始化、构造器的使用、方法的重载、静态与非静态初始化块、可变参数和枚举的初始化。练习涵盖了从基础到进阶的多个方面,帮助读者深入理解Java的初始化机制。
摘要由CSDN通过智能技术生成

练习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)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值