我的位置:首頁 > 電腦網路 > 程式語言

[java][已解決]基礎問題

 
最近剛學JAVA,老師給我們出了作業,要我們解釋一些指令的用途

有沒有大大可以幫我解釋一下啊?感謝大家。。。

題目如下:

1、
  public/private

2、
  import java.lang.*

3、
public static void main(String[ ] args)

4、
overloading

5、
extends/implements

6、
constructor

7、
this/super

8、
class/abstract class/interface

9、
try/catch/finally

10、
Exception

大概就以上這些,希望有人能幫我解釋一下,謝謝Orz
B  亦鏡   04-16 22:07 最後編輯 |   分享  引用  檢舉  編輯  刪除
 
        
 
我...只會用英文解釋耶...如果找不到人的話再來找我好了...
   分享  引用  檢舉  編輯  刪除
 
很感謝你的好意,但我是想要這些語言在JAVA裡的用途的解釋啦。。。抱歉

但可能是太簡單沒有人要幫我吧Orz。。

我只是要他的用途解釋罷了。。。
   分享  引用  檢舉  編輯  刪除
 
都沒人回...(我來拋磚引玉XD)
我不知道這些名詞在Java是不是跟C++一樣 , 不過我想都是物件導向 , 應該大同小異吧...
(錯了別怪我...)


1.
public→可以任意呼叫or使用
private→只准許自己class裡的成員呼叫or改變其值

4.
overloading
我不太清楚單純這個字是什麼意思...
不過我知道有個東西叫 "function overloading"
舉例說明:
int Fun();
int Fun(int);

假如我呼叫時 , 打的是Fun(); , 他就會執行第一個而不會執行第二個

6.
constructor
在C++裡叫做建構子 , 也就是定義一個class , 裡面的函式(不曉得是不是叫函式)名稱跟class相同 , 會在一開始建構class這個物件時 , "自動" 執行


class Human
{
private:
int HP;
int MP;
public:
Human();
Human(int,int);
void Output();
};

Human::Human()
{
HP=100;
MP=50;
}

Human::Human(int h,int m)
{
HP=h;
MP=m;
}

void Human::Output()
{
cout<<"HP:"<<HP<<endl;
cout<<"MP:"<<MP<<endl;
}

int main()
{
Human h1;
Human h2(200,100);
h1.Output();
h2.Output();
system("pause");
return 0;
}

輸出結果:
HP:100
MP:50
HP:200
MP:100
   分享  引用  檢舉  編輯  刪除
 
1、public/private

存取的修飾,用在類別及成員
public為公開,private為私用
用來限制該類別或是成員的存取權限

補充說明:
除了public和private,還有protected和不設定(default)

2、import java.lang.*

在編譯時,告訴編譯器要載入哪些類別,或是套件

3、public static void main(String[ ] args)

程式進入點,一個類別中最多只能有一個,args是制式化的命名
如果有特殊需求,可以用其它名稱取代。(通常是沒必要)

4、overloading

多載,在同一個命名區間裡,有兩個以上的函式,用同樣的名稱,但是參數型態或是個數不同

5、extends/implements

繼承/實作
繼承意指將父類別的功能(成員或方法),加以擴充
實作是針對介面所定義的方法,進行實作


6、constructor

建構子,該類別在建構物件時,所呼叫的函式,該函式無回傳型別,且名稱必須與該類別相同

7、this/super

this是指類別本身,super是只父類別

8、class/abstract class/interface

抽象類別只能被繼承,不能被建構成物件
介面需要透過實作,完成其定義的方法

補充說明:
這兩者很像,但是卻又完全不一樣
差別點在於抽象類別因為限定用繼承的方式,所以其子類別為同一父類別所衍生
而實作介面的類別,並非由該介面所衍生的子類別,可以是任何一個類別來進行實作

介面就像是一個規範,針對大家(所有要實作它的類別)進行定義
抽象類別,可以說是「半成品類別」,因為它不能被生成物件,只能被繼承

9、try/catch/finally

補捉例外之用
try為補捉的程式區塊,發生例外時,會跳出try的區塊
並且進入catch區塊或是finally區塊
finally可有可無,但是沒有設定catch的話,finally就一定要有

10、Exception

例外,代表一個錯誤的實體物件,用來避免或是處理程式在執行時,所產生的錯誤

補充說明:
如果程式碼如下
void test(int n) {
int[] a = new int[5];
for (int i=0; i<a.length; i++) a[i]=i+5;
System.out.println(a[n]);
}

如果使用test(10),則因為int陣列只有5個,將n=10的參數代入test方法後
顯然是超過了int陣列的範圍,此時會拋出例外物件
而該test方法內,並沒有設定try...catch,所以例外會由呼叫test方法的地方產生
如果上層也都沒有設定,最終會由呼叫main方法(程式進入點)的JVM產生
   分享  引用  檢舉  編輯  刪除
 
真的很謝謝 最愛笨貓咪 大大跟我很詳細的解說,謝謝!!

雖然我學的不是C++,但也謝謝  kidding 大大!!
B  亦鏡   04-16 22:11 最後編輯 |   分享  引用  檢舉  編輯  刪除
 
 
 

 
 
注意:非註冊用戶沒有發表文章的權利。  
帳號:  沒有註冊?    密碼: 忘記密碼?