特點:
1、函數名與類名相同
2、不用定義返回類型
3、沒有具體的返回值
作用: 給對象初始化
//構造函數:構建創造對象時調用的函數。作用:可以給對象進行初始化。
創建對象都必須要通過構造函數初始化。
一個類中如果沒有定義過構造函數,那么該類中會有一個默認的空參數構造函數。
如果在類中定義了指定的構造函數,那么類中的默認構造函數就沒有了。
一般函數和構造函數什么區別呢?
構造函數:對象創建時,就會調用與之對應的構造函數,對對象進行初始化。
一般函數:對象創建后,需要函數功能時才調用。
構造函數:對象創建時,會調用只調用一次。
一般函數:對象創建后,可以被調用多次。
什么時候定義構造函數呢?
在描述事物時,該事物一存在就具備的一些內容,這些內容都定義在構造函數中。
構造函數可以有多個,用於對不同的對象進行針對性的初始化.
多個構造函數在類中是以重載的形式來體現的。
細節:
1,構造函數如果完成了set功能。set方法是否需要。
2,一般函數不能直接調用構造函數。
3,構造函數如果前面加了void就變成了一般函數。
4,構造函數中是有return語句的。class Person {
private String name;
private int age;
//定義構造函數
Person() //構造函數,而且是空函數
{ //構造函數時,創建對象的函數
name = "baby";
age = 1;
// System.out.println(name+":"+age);
}
Person(String n) //如果一出生就有名字,方法重載
{
name = n;
}
Person(String n,int a)
{
name = n;
age = a;
}
public void speak()
{
System.out.println(name+":"+age);
}
}
public class inherit
{
public static void main(String[] args)
{
Person p = new Person();
p.speak();
Person p1 = new Person("wangcai");
p1.speak();
Person p2 = new Person("小青",10);
p2.speak();
}
}