java成員變量、成員方法、構造函數

1.引用變量

一個類的基本內容是由成員變量、成員方法、構造函數構成的。

那其實成員變量中比較特殊的是可以引用變量。

在jvm存儲上,基本類型的數據是直接存儲的,而引用變量例如String,或自己創建的類,是會額外的棧去保存。

以下是一個實例:比如在人這個類中,可以有一個狗的成員變量,代表人養了這隻狗。狗並不是基本的數據類型,需要自己去編寫狗這個類。成員變量可以是其他的類的對象。

狗類:

public class Dog {
	//成員變量:
	String name;
	int age;
	//成員函數:
	public void showInfo() {
		System.out.println(this.name);
		System.out.println(this.age);
	}
	//構造函數:
	public Dog(String name,int age) {
		this.name=name;
		this.age=age;
	}
}

人類:

public class Person {
	//成員變量:
	String name;
	int age;
	Dog dog;//引用類型,成員變量可以是其他的類的對象。
	//成員方法:
	public void showInfo() {
		System.out.println(this.name);
		System.out.println(this.age);
		System.out.println("寵物:"+dog.name);
	}
	//構造函數:
	public Person(String name,int age,Dog dog) {
		this.name=name;
		this.age=age;
		this.dog=dog;
	}


}


主函數:

public class Quote {
	public static void main(String[]args) {
		Dog dog1=new Dog("哈士奇",8);
		Person p1=new Person("夢夢",19,dog1);
		p1.showInfo();
	}
}
輸出結果:


2.靜態變量Static

用static定義的類成員,它的使用完全獨立於該類的任何對象,所有的對象都可以訪問它,也可以直接通過類去訪問它
實例:家裏的後庭散養小貓,毛會來庭院玩耍。希望知道現在貓的數量。用面對對象的方法去解決。
貓類:

public class Cat {
	String name;
	String color;
	static int num;
	
	public void joinHome() {
		System.out.println(this.color +"的小貓 "+this.name +" 進來了!");
		num++;
	}
	
	public Cat(String name,String color) {
		this.name =name;
		this.color=color;
	}

}

主函數:

public class catNumber {
	public  static void main(String[]args) {
		Cat cat1=new Cat("肥橘","黃色");
		cat1.joinHome();
		
		Cat cat2=new Cat("夜貓","黑白");
		cat2.joinHome();
		
		Cat cat3=new Cat("喫貨貓","純白");
		cat3.joinHome();
		
		//每一個對象都可以去訪問它
		System.out.println(cat1.num);
		System.out.println(cat2.num);
		System.out.println(cat3.num);
		//也可以直接用類去訪問
		System.out.println(Cat.num);
	}

}

運行結果:





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章