java編程思想課后答案


第二章

1.創建一個類,它包含一個int域和char域,它們都沒有被初始化,將它們的值打印出來,已驗證Java執行了默認初始化;

import java.util.*;

public class D對象習題答案 {
	
		private int a;
		private char b;
		public D對象習題答案()
		{
			System.out.println("a is:"+a);
			System.out.println("b is:"+b);
		}
//	public static void ff()
//	{
//		System.out.println("a is:"+a);
//		System.out.println("b is:"+b);
//	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner (System.in);
		new D對象習題答案();
		//ff();
		}	

}

運行結果:

a is:0
b is:

2.找出含有ATypeName的代碼段,將其改寫成完整的程序,然后編譯,運行;

public class ATypeName{
	public static void main(String[] args)
	{
		ATypeName aTypeName=new ATypeName();
		System.out.println(aTypeName);
	}
}

運行結果:

ATypeName@15db9742

3.將DataOnly改寫成一個程序,然后編譯,運行;

public class DataOnly{
	int i;
	double d;
	boolean b;
	public static void main(String[] args)
	{
		DataOnly dataOnly=new DataOnly();
		dataOnly.i=6;
		dataOnly.d=2.1;
		dataOnly.b=true;
		System.out.println("i:"+dataOnly.i);
		System.out.println("d:"+dataOnly.d);
		System.out.println("b:"+dataOnly.b);
	}
}

運行結果:

i:6
d:2.1
b:true

第五章初始化與清理

構造器

1.創建一個類,它包含一個未初始化的String引用,驗證該引用被Java初始化成了null;

public class Y1用構造器確保初始化 {
	String s;
	public static void main(String[] args)
	{
		Y1用構造器確保初始化 aa=new Y1用構造器確保初始化();
		System.out.println(aa.s);
	}
}

output:
null

2.創建一個類,它包含一個在定義時就被初始化了的String域,以及另一個通過構造器初始化的String域,這兩種方式有何差異?

ublic class Y1用構造器確保初始化{
	String s1="s1";
	String s2;
	{
		System.out.println("before constructor s1="+s1+",s2="+s2);
	}
	public Y1用構造器確保初始化(String s2)
	{
		this.s1=s1;
		System.out.println("in constructor s1="+s1+",s2="+s2);
	}
	public static void main(String[] args)
	{
		Y1用構造器確保初始化 aa=new Y1用構造器確保初始化("s2");
	}
}

output:
before constructor s1=s1,s2=null
in constructor s1=s1,s2=s2


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM