在這裡先介紹如何利用"."運算子:

1 )取得類別屬性 :類別名稱.類別屬性
2) 取得類別方法 :類別名稱.類別方法()

EX:

class Goldfish{
public static String type = "水泡眼"; //屬性
public static String name = "小金"; //屬性
public static String color= "紅白"; //屬性

static void skill() {
String skill = "吐泡泡";
System.out.println("在水中"+skill);
          }

}

public class PetStore {
public static void main(String[] args) {
String GoldfishName = Goldfish.name;  //Goldfish 底下的 name ,並且 給與GoldfishName ,所以 GoldfishName 取得了 "小金" 
String GoldfishKind = Goldfish.type;      //Goldfish 底下的 type,並且 給與GoldfishKind,所以 GoldfishKind取得了 "水泡眼" 
String GoldfishColor = Goldfish.color;    //Goldfish 底下的 color,並且 給與GoldfishColor,所以 GoldfishColor取得了 "紅白" 
System.out.println("我有一隻聰明的" + GoldfishKind + "金魚, 名叫" + GoldfishName +", 他的顏色是" + GoldfishColor + "色的.");
System.out.print("我每天都會看到他");
Goldfish.skill();

    }

}

   

 

return關鍵字

 

在具有回傳值的方法中最後都必須使用 return 關鍵字再加上法定回傳值回傳給呼叫端。
void 方法原則上是不用,不過若想要在 void 方法中使用,必須在 return 後面緊接著加上分號“;”,"return;"表示無回傳值。
 
EX:  
     void class Goldfish{   //這個class 就沒有回傳值
}
     int  class Goldfish{    //這個class 有一個 int 的回傳值
}


註解

 

註解分為三種,直接用範例來示範
 
(一)/**/
 
/*
在這個範圍內,再編譯時都會被跳過不執行。
*/
 
通常會被用來解釋這個程式是幹什麼的
 
EX:
 
/*   範例程式
      http://travis90736.pixnet.net/blog/post/12345678/
    檔名:Goldfish.java
    功能:Java 程式結構(二)
    作者:豆港
    時間:2012 年 11 月 */


(二)//

//   這後面,在編譯時都會被跳過不執行,但僅限於這行之後

通常用於註解這行程式是幹嘛的。

EX:

String name ="小金";  //金魚的名字

 
 
(三)/***/
 
/** 
在這個範圍內,在編譯時,還是會被執行,但是是製作成doc的說明檔。
*/
 
通常用於比較大的程式,需要說明書的程式碼。
 
 
 
package 與 import
 
 

package water;

public class Fish {

   

 
 
執行時期位於 package 下的 class 要如何能夠找到並存取呢?基本上有三種方式:
1.完整路徑名稱
(套件名稱~... . 類別名稱)
2.透過 import 來定義。
3.設定 classpath類別路徑。

第 1 種方式打上完整路徑名稱:

範例:經由 PetStore2 類別來存取 water.Fish類別的成員Fish.java 程式碼如下:
 

package water;

public class Fish {
    public static String name = "小金";
    public static String type = "金魚";
    public static String color = "金";

    public static void skill() {
        System.out.println("吐泡泡");
    }

}

 

public class PetStore2 {

    public static void main(String[] args) {
        String fishName = water.Fish.name;
        String fishKind = water.Fish.type;
        String fishColor = water.Fish.color;
        System.out.println("我有一隻優雅的" + fishKind +", 名叫" + fishName +", 他的顏色是" + fishColor + "色的.");
        System.out.print("每當他肚子餓的時候都會");
        water.Fish.skill();

    }

}


第 2 種方式使用 import 來告知 java,如果當下目錄找不到所指定類別,應該要到哪裡去尋找?

import water.*;

public class PetStore3 {

    public static void main(String[] args) {
        String fishName = Fish.name;
        String fishKind = Fish.type;
        String fishColor = Fish.color;
        System.out.println("我有一隻優雅的" + fishKind +", 名叫" + fishName + ", 他的顏色是" + fishColor + "色的.");
        System.out.print("每當他肚子餓的時候都會");
        Fish.skill();
    }
}

 

第 3 種方式 classpath(類別路徑): 

  • 什麼是 classpath呢?依據 JavaSE 5.0 API 文件,它是 java 在執行時期用來搜尋類別與其它相關資源的路徑。
  • classpath是用來告訴 SDK 工具與 Java 應用程式要到哪裡尋找 third-party 或使用者自行定義的 classes、jar 或 zip 等資源,換言之,它們並不是 java 延伸套件或java 平台的一部份。
  • 在系統環境變數所設的是 CLASSPATH,其路徑內容將可以提供 java 程式在執行環境中找尋類別與其它相關資源,該設定將會影響到所有的 java 應用程式
  • 對於一些命令工具,例如:javajavacjavadoc也提供 classpath讓程式設計人員在每個個別獨立應用程式中能有自己定義的 classpath路徑。
  •  

     

classpackage import 宣告時的先後順序
 

package water.*;
import java.io.*;

class MyTest {

}

import java.io.*;
package water.*;    //會編譯錯誤

class MyTest {

}



存取修飾元 (Modifier)

「存取修飾字元」 主要是為了宣告,此類別、變數及方法的存取權限

可分為四種:

privatedefaultprotected public 

權限大小 public > protected > default > private 

說明:

public 是所有皆可存取

protected 同一個package 才自由可存取,不同package 必須繼承才可以存取

default 同一個package 才自由可存取

private 同一個class 才可存取

 

Java 命名規則與關鍵字

命名class

命名規則有一些不成文規定,是為了方便後續繼承你的程式的程式設計師看得懂。

像是class 的命名,一般程式設計師,會以大寫來表示,方便以後取值時知道這個是class的名稱。

例如 class Hello {} 而非 class hello{} 

 

命名屬性

屬性(變數)的命名 ,會以小寫為開頭。

int money = 100; 而非int Money = 100;   

而如果是兩個單字的組合,我們會在第二個字的開頭大寫。

因為像是 我們上面的範例 : String fishName = water.Fish.name

這樣就是我們就了解,我們呼叫的water 是資料夾 ,然後我們遇到了大寫,我們就會知道了Fish是class,然後呼叫屬性name得值


命名方法

方法名稱和屬性一樣都是以小寫的單字起頭,如果是二個單字所組成,第二個單字的第一個字母必須為大寫
public void  submit() { ... }
public
int  getMoney() { ... }
public void  
setMoney(int money) { ... }

 


文章標籤
全站熱搜
創作者介紹
創作者 豆港 的頭像
豆港

豆港 On JAVA

豆港 發表在 痞客邦 留言(0) 人氣(3,108)