iT邦幫忙

DAY 4
1

Java重點學習筆記系列 第 4

Java重點筆記三:變數的三種類型

變數根據其所在位置有可分為三類:

一、區域變數 (Local variables)
1.定義在函數式內,僅在函數內有效。
2.由於僅在函數內有效,不能使用存取權限修飾詞 (access level modifier)。
3.無預設值,使用前必須先賦值。
例子:

import java.io.*;
public class Cat{ 
   public void catAge(){
      int age = 0;
      age = age + 7;
      System.out.println("Cat age is : " + age);
   }
   
   public static void main(String args[]){
      Cat acat = new Cat();
      acat.catAge();
   }
}

二、實作變數 (Instance variables)
1.定義在類別內,但函數式外。
2.類別內有效,可使用存取權限修飾詞 (access level modifier)來改變存取限制:
private:僅類別內有效。
public:除類別內,子類別內也有效。
3.有預設值,依資料類型而不同。

import java.io.*;
public class Cat{
    // this instance variable is visible for any child class.
    public String name;

    // age  variable is visible in Cat class only.
    private int age;

    // The name variable is assigned in the constructor. 
    public Cat (String catName){
        name = catName;
    }
    
    // The age variable is assigned a value.
   public void setAge(double catAge){
      age = catAge;
   }
   
   // This method prints the cat details.
   public void printCat(){
      System.out.println("name  : " + name );
      System.out.println("Age :" + age);
   }
   
    public static void main(String args[]){
        Cat acat = new Cat("Sarah");
        acat.setAge(3);
        acat.printCat();
    }
}

三、類別變數 (Class/static variables)
1.就是用static定義的實作變數。
2.不管有幾個實作(instance),一個類別內的類別變數都是同一個。
3.類別變數可使用:ClassName.VariableName 直接呼叫。
4.只有程式結束,類別變數才會被回收。
5.將類別變數宣告為:public static final 的話,要整個變數名大寫

import java.io.*;
public class Cat{

    public static final String BREED = "Bulldog";
   
    public static void main(String args[]){
        System.out.println(BREED);
    }
}

[image credit: S. Charles]


上一篇
Java重點筆記二:基本資料類型
下一篇
Java重點筆記四:Java的前置修飾詞(Modifier)
系列文
Java重點學習筆記30

尚未有邦友留言

立即登入留言