Java(基礎)的類與變量。本站提示廣大學習愛好者:(Java(基礎)的類與變量)文章只能為提供參考,不一定能成為您想要的結果。以下是Java(基礎)的類與變量正文
在我們學習編程語言中,需要靈活自用,那麼怎麼來靈活的將所有的函數屬性來調用來實現完整的工程呢?
所以我們需要認識到類和變量的定義
1、類是什麼?類是抽象的概念,而對象就是類的具體存在體現。列如:我們的類就像生活中的小汽車,那麼我們就可以將小汽車看作為一個類,我們稱之為小汽車類,每一台小汽車都有輪胎數、顏色等(可以定義為屬性,即成員變量),每一台車都可以跑(即車的行為,對應類總的成員函數),我們把小汽車實例一下,即產生一個對象,比如寶馬(BMW)。
列:public class littlecar #定義的小汽車類
2、成員變量先看一個事物:
屬性:外觀特征;列如人的身高、體重、(顏值。。。。。 :)
行為:能夠做什麼;列如:能跑、能跳、(能飛。。。。。我會飛! :)
而在Java語言中,最基本單位的就是類,而類就是用來體現事物的。
而class就是來描述事物:
屬性:對應類的成員變量
行為:對應成員的函數
定義類其實就是在定義類的成員(成員變量和成員函數)
來看一下一個實例:
列1:
public class LittleCar {
private String color; // 定義汽車顏色,全局變量
private int numLuntai; // 定義汽車輪胎數,全局變量
public LittleCar(String color, int numLuntai){
super();
this.color =
color;
this.numLuntai =
numLuntai;
}
public void run() {
System.out.println(this.numLuntai+ "個輪子的" +this.color + "轎車在馬路上行駛著");
}
}
public class ClassT {
public static void main(String[] args){
LittleCar BMW= new LittleCar("黑色", 4); // 創建一個轎車對象,名字為BMW
BMW.run();
}
}
運行結果:
4個輪子的黑色轎車在馬路上行駛著
其中color和numLuntai就稱為Car 類的成員變量,這個屬性能夠用來描述一個類的屬性,否則,它就應該定義為局部變量。
3、局部變量例如一個for循環中的i即是局部變量。
for(int i = 0; i < args.length; i++) {
......
}
列2:
publicclass LittleCar {
private String color; // 定義汽車顏色,全局變量
private int numLuntai; // 定義汽車輪胎數,全局變量
public LittleCar(String color, int numLuntai){
super();
this.color =
color;
this.numLuntai =
numLuntai;
}
public void run() {
String carName=”奔馳牌”; //這個就是局部變量
System.out.println(this.numLuntai+ "個輪子的" +this.color + carName+"轎車在馬路上行駛 著");
}
}
publicclass ClassTest {
public static void main(String[] args){
LittleCar BMW= new
Car("黑色", 4); // 創建一個轎車對象,名字為BMW
BMW.run();
}
}
結果:
4個輪子的黑色奔馳牌轎車在馬路上行駛著
4、成員變量和局部變量的區別
成員變量:
①成員變量定義在類中,在整個類中都可以被訪問。
②成員變量隨著對象的建立而建立,隨著對象的消失而消失,存在於對象所在的堆內存中。
③成員變量有默認初始化值。
局部變量:
①局部變量只定義在局部范圍內,如:函數內,語句內等,只在所屬的區域有效。
②局部變量存在於棧內存中,作用的范圍結束,變量空間會自動釋放。
③局部變量沒有默認初始化值
在使用變量時需要遵循的原則為:就近原則
首先在局部范圍找,有就使用;接著在成員位置找。
5、靜態變量由static修飾的變量稱為靜態變量,其實質上就是一個全局變量。如果某個內容是被所有對象所共享,那麼該內容就應該用靜態修飾;沒有被靜態修飾的內容,其實是屬於對象的特殊描述。
列3:
class Person{
//成員變量,實例變量
String name;
//靜態變量,類變量
//所有對象共享的屬性用static修飾
static String country = "CN";
public void show(){
System. out.println(country +
":" + name);
//等效語句:System.out.println(Person.country+ ":"
+ this.name);
}
}
class StaticDemo{
public static void main(String[]args){
Personp = new Person();
System. out.println(p.country);
//可以用類名直接調用
System. out.println(Person.country);
}
}
結果:
CN
CN
6、成員變量和靜態變量的區別
1、兩個變量的生命周期不同
成員變量隨著對象的創建而存在,隨著對象被回收而釋放。
靜態變量隨著類的加載而存在,隨著類的消失而消失。
2、調用方式不同
成員變量只能被對象調用。
靜態變量可以被對象調用,還可以被類名調用。
3、別名不同
成員變量也稱為實例變量。
靜態變量也稱為類變量。
4、數據存儲位置不同
成員變量存儲在堆內存的對象中,所以也叫對象的特有數據。
靜態變量數據存儲在方法區(共享數據區)的靜態區,所以也叫對象的共享數據。
7、成員變量、局部變量、靜態變量列表對比:
成員變量、局部變量、靜態變量的區別
成員變量
局部變量
靜態變量
定義位置
在類中,方法外
方法中,或者方法的形式參數
在類中,方法外
初始化值
有默認初始化值
無,先定義,賦值後才能使用
有默認初始化值
調用方式
對象調用
---
對象調用,類名調用
存儲位置
堆中
棧中
方法區
生命周期
與對象共存亡
與方法共存亡
與類共存亡
別名
實例變量
---
類變量
結束語:(我也是再前輩那裡借鑒的!所以有些說的不是很好,請大家多多包涵!謝謝你們的預覽。還有:)這個符號很好玩的哈()上邊那裡是開玩笑的啦!加油吧程序猿!!!!)