類中的構造函數

1、構造函數概念

構造函數就是構建創造對象時調用的函數,構造函數在創造對象時就調用,用於對該對象屬性的初始化。所有的對象創建時,都需要進行初始化纔可以使用。一個類中如果沒有定義構造函數,那麼該類中會有一個默認的空參數的構造函數,如果在類中定義了構造函數,類中默認的那個空參數的構造函數就不再存在了。

構造函數特點:

①構造函數名稱和所在類名稱相同

②構造函數不需要定義返回值類型

③構造函數沒有具體的返回值

所有的對象都需要進行初始化才能夠使用

class Person
{
	private String name;
	private int age;
	Person()
	{
		age = 12;
		name = "小強";
		System.out.println("Person() is running");
	}
	void speak()
	{
		System.out.println("name="+name+"\nage="+age);
	}
}
class PersonTest
{
	public static void main(String[] args)
	{
		Person p = new Person();
		p.speak();
	}
}

該程序運行結果是:

name=小強
age=12

2、構造函數和一般函數的區別

構造函數:對象創建時,就會調用與之對應的構造函數,對對象進行初始化。初始化動作只執行一次。
一般函數:對象創建後,需要函數功能時才調用。 可以多次進行調用。

3、構造函數的重載

一個類中可以有多個構造函數,他們是以重載的形式來體現的,即以參數列表的不同來區分的。

class Person
{
	private String name;
	private int age;
	Person()
	{
		name = "旺財";
		age = 10;
	}

	Person(String n)
	{
		name = n;
		age = 0;
	}

	Person(int a)
	{
		name = "babby";
		age = a;
	}

	void speak()
	{
		System.out.println("name="+name+"\nage="+age);
	}
}
class PersonDemo
{
	public static void main(String[] args)
	{
		Person p = new Person("小強");
		p.speak();
	}
}
輸出結果:

name=小強
age=0
4、內存圖解

創造對象時內存使用情況如下;


5、構造函數使用細節

①一般函數不能直接調用構造函數。

②構造函數如果前面加了void就變成了一般函數。

③構造函數中是有return語句的,return用於結束函數。

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