java課后答案
java的課后答案
答:首字母大寫, 望名知意
2.類體內(nèi)容有哪兩種重要成員?
答:成員變量,和成員方法。
3.實(shí)例方法可以操作類變量嗎?類方法可以操作實(shí)例變量嗎?
答:實(shí)例方法可以操作類變量。
而類方法不可以操作實(shí)例變量。
4.當(dāng)類的字節(jié)碼加載到內(nèi)存時(shí),類變量就一定分配了內(nèi)存空間嗎?
答:實(shí)例成員變量不分配內(nèi)存,而類變量一定分配內(nèi)存。
5.類的實(shí)例變量在什么時(shí)候分配內(nèi)存?
答:聲明之后,在用new關(guān)鍵字創(chuàng)建實(shí)例的時(shí)候才分配內(nèi)存。
6.一個(gè)類的類變量被該類創(chuàng)建的所有對(duì)象共享嗎?
答:共享
7.不同對(duì)象的實(shí)例變量分配的內(nèi)存地址一定不同嗎?
答:當(dāng)出現(xiàn)引用賦值語句時(shí)兩個(gè)實(shí)例變量的內(nèi)存地址相同。
8.什么叫方法的重載?構(gòu)造方法可以重載嗎?
答:方法的重載是指一個(gè)類中可以有多個(gè)方法具有相同的名字,但這些方法的參數(shù)不同,或者參數(shù)的個(gè)數(shù)不同,或者參數(shù)的類型不同。構(gòu)造方法可以重載。
9.請(qǐng)闡述為什么類方法不能調(diào)用實(shí)例方法?
答:對(duì)于類方法在該類加到內(nèi)存時(shí)就分配了相應(yīng)的入口地址,所以即使該類未創(chuàng)建對(duì)象,也可以通過類名調(diào)用類方法。而這時(shí)在類對(duì)象創(chuàng)建之前,實(shí)例方法還沒有入口地址。還不知道一個(gè)方法從何處開始執(zhí)行,當(dāng)然不能調(diào)用。
10.請(qǐng)闡述,為什么類方法中不能操作實(shí)例成員變量?
答:對(duì)于類方法在該類加到內(nèi)存時(shí)就分配了相應(yīng)的入口地址,所以即使該類未創(chuàng)建對(duì)象,也可以通過類名調(diào)用類方法。而這時(shí)在類創(chuàng)建之前,實(shí)例成員變量還沒有分配內(nèi)存空間。沒內(nèi)存空間當(dāng)然無法操作。
11.實(shí)例方法可以用類名直接調(diào)用嗎?
答:不能,因?yàn)閷?shí)例方法,用new創(chuàng)佳對(duì)象后才分配入口地址,而類名,一經(jīng)聲明就分配類名地址。而這時(shí)對(duì)象創(chuàng)建之前實(shí)例方法還沒有入口地址。實(shí)例方法表現(xiàn)實(shí)例的功能,或改變實(shí)例變量。用類調(diào)用改變那個(gè)實(shí)例的實(shí)例變量,表現(xiàn)那個(gè)實(shí)例的功能,不明確。
12.關(guān)鍵字this可以出現(xiàn)在構(gòu)造方法中嗎?可以出現(xiàn)在實(shí)例方法中嗎?可以出現(xiàn)在類方法中嗎?
答:可以出現(xiàn)在構(gòu)造方法中,代表該類構(gòu)造方法所創(chuàng)造出的對(duì)象。
可以出現(xiàn)在實(shí)例方法中,代表使用該方法的當(dāng)前對(duì)象。
This不能出現(xiàn)在類方法中,因?yàn)轭惙椒ㄊ峭ㄟ^類名調(diào)用的。
13.源文件聲明編寫的類一定在同一個(gè)包中嗎?
答:不一定,當(dāng)不在同一包中時(shí),可用import語句將其所在的包引入該源文件中。
14.“import java.awt.*”與“import java.awt.Button”有什么不同?
答:前者引入了awt包中的所有類,后者只引入了Button一個(gè)類。
15.程序中使用了“import java.util.*;”程序運(yùn)行時(shí),是要加載java.util包中的全部類到內(nèi)存嗎?
答:不,只加載本程序用到的類到內(nèi)存中,因?yàn)閖ava程序是動(dòng)態(tài)加載,字節(jié)碼類文件。
16.有哪幾種訪問權(quán)限修飾符?說出一種的作用。
答:訪問權(quán)限修飾符有public, private,protected.
Private作用是只允許本類的對(duì)象訪問。
17.怎樣反編譯一個(gè)類?
答:使用SDK提供的反編譯器javap.exe文件可以實(shí)現(xiàn)將字節(jié)碼文件反編譯為源碼文件。可查看源碼中public方法和public成員變量的名字。
如加入?yún)?shù)-private則可列出其全部的成員方法和成員變量。
如:
Javap –private java.awt.Button則可以列出Button類中全部的方法和成員變量。
18.下面程序中那個(gè)語句是錯(cuò)的?
class A
{
private float weight; //weight被修飾為private的float型變量。
public float f(float a,float b) //方法 f是public方法。
{ return a; } }
public class B
{
void g()
{
A a=new A();
a.weight=23f;
a.f(3,4); } }
答:a.weight=23f;錯(cuò)
1.編寫一個(gè)類,該類創(chuàng)建的對(duì)象可以計(jì)算等差數(shù)列的和。
解:class DengCha{
int start,d;
DengCha(){ }
DengCha(int start,int d){
this.start=start;
this.d=d; }
void setStart(int s){
start=s; }
void setD(int d){
