Java中靜態變量(類變量)、實例變量、局部變量和成員變量
阿新 • • 發佈:2018-06-11
Java導讀
學習Java的過程中,一開始很容易被這些各種變量繞暈,這篇博客主要介紹了這幾種變量之間的關系和區別。
例程
package com.cunyu.demo public class Demo { private String name; //成員變量、實例變量 private int age; //成員變量、實例變量 private int ID; //成員變量、實例變量 public static final String school = "卡塞爾學院"; //成員變量、靜態變量(類變量) public static String level = "SSS"; //成員變量、靜態變量(類變量) public int getAge() { return age; } public int getId() { return ID; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public void setId(int ID) { this.ID = ID; } public void setName(String name) { this.name = name; } public void study(){ String subject1 = "屠龍"; //局部變量 String subject2 = "煉金術"; //局部變量 System.out.println("學習科目: " + subject1 + "、" + subject2); } public static void main(String[] args) { Demo demo = new Demo(); demo.setAge(23); demo.setId(14000001); demo.setName("楚子航"); System.out.println("ID: " + demo.getId() + "Age: " + demo.getAge() + "Name: " + demo.getName()); System.out.print("主修科目: "); demo.study(); System.out.println("學院:" + Demo.school); System.out.println("等級:" + Demo.level); } }
各變量聯系與區別
- 成員變量:作用範圍是整個類,相當於C中的全局變量,定義在方法體和語句塊之外,一般定義在類的聲明之下;成員變量包括實例變量和靜態變量(類變量);
- 實例變量:獨立於與方法之外的變量,無static修飾,聲明在一個類中,但在方法、構造方法和語句塊之外,數值型變量默認值為0,布爾型默認值為false,引用類型默認值為null;
- 靜態變量(類變量):獨立於方法之外的變量,用static修飾,默認值與實例變量相似,一個類中只有一份,屬於對象共有,存儲在靜態存儲區,經常被聲明為常量,調用一般是類名.靜態變量名,也可以用對象名.靜態變量名調用;
- 局部變量:類的方法中的變量,訪問修飾符不能用於局部變量,聲明在方法、構造方法或語句塊中,在棧上分配,無默認值,必須經初始化;
Java中靜態變量(類變量)、實例變量、局部變量和成員變量