① 在java中構造函數是什麼
java構造函數,也叫構造方法,java類中的一種特殊方法,方法名與類名相同,一般用來初始化一些成員變數
當要生成一個類的對象(實例)的時候就會調用類的構造函數
如果不顯示聲明類的構造方法,java會自動生成一個默認的不帶參數的空的構造函數
public class Test
{
public Test(){}//這里可以省略
public static void main(String[] args)
{
Test test = new Test();
}
}
如果顯示聲明了類的構造函數,java就不會再生成默認的構造函數
public class Test
{
String name;
public Test(String name)//用戶自定義構造函數
{
this.name = name;
}
public static void main(String[] args)
{
Test test = new Test("zhangsan");
}
}
② Java中什麼叫構造函數.
每創建一個類的實例都去初始化它的所有變數是乏味的。如果一個對象在被創建時就完成了所有的初始工作,將是簡單的和簡潔的。因此,Java在類里提供了一個特殊的成員函數,叫做構造函數(Constructor)。
一個構造函數是對象被創建時初始對象的成員函數。它具有和它所在的類完全一樣的名字。一旦定義好一個構造函數,創建對象時就會自動調用它。構造函數沒有返回類型,即使是void類型也沒有。這是因為一個類的構造函數的返回值的類型就是這個類本身。構造函數的任務是初始化一個對象的內部狀態,所以用new操作符創建一個實例後,立刻就會得到一個清楚、可用的對象。
構造方法是一種特殊的方法,具有以下特點。
(1)構造方法的方法名必須與類名相同。
(2)構造方法沒有返回類型,也不能定義為void,在方法名前面不聲明方法類型。
(3)構造方法的主要作用是完成對象的初始化工作,它能夠把定義對象時的參數傳給對象的域。
(4)構造方法不能由編程人員調用,而要系統調用。
(5)一個類可以定義多個構造方法,如果在定義類時沒有定義構造方法,則編譯系統會自動插入一個無參數的默認構造器,這個構造器不執行任何代碼。
(6)構造方法可以重載,以參數的個數,類型,或排列順序區分。
③ java構造函數怎麼寫
構造函數是對象被創建時初始對象的成員函數。它具有和它所在的類完全一樣的名字。一旦定義好一個構造函數,創建對象時就會自動調用它。 構造函數沒有返回類型,即使是void類型也沒有。這是因為一個類的構造函數的返回值的類型就是這個類本身。
④ 關於java構造函數
class
Student{
String
name;
int
age
;
public
Student(String
name
,int
age){
this.name
=
name
;
this.age
=
age
;
//這里的Student()就是構造函數。。它必須與類名一樣而且不能加返回值
}
}
⑤ Java構造函數
publicVendingMachine()
{
this.Can=10;
}
publicVendingMachine(intcans)
{
this.Can=cans;
}
⑥ JAVA的構造函數是怎麼寫的。萬分感謝。路過的請不要嘲笑%>_<%
JAVA的構造函數是:SetLocal EnableDelayedExpansion
set classpath=.
for %%c in (lib*.jar) do set classpath=!classpath!;%%c
set classpath=%classpath%;./classes;
java com.ham.server.Server。
1、無參構造方法
無參構造方法又分為隱式無參構造方法和顯示無參構造方法。
隱式無參構造方法
在定義類的時候,如果沒有給類定義一個構造方法,Java編譯器在編譯時會默認提供一個隱式的構造方法,它沒有任何參數,並且有一個空的方法體。例如,Person類中隱含一個無參構造方法,在main方法中可以通過new關鍵字來調用此默認的構造方法,代碼如下:
⑦ Java 構造函數
每個類必須有一個無參的構造方法,如果一個類沒有寫構造方法,編譯器會自動為該類添加一個無參的構造方法。所以在代碼中默認可以不寫。
你寫了以下幾行代碼後,添加了一個有參的構造方法。這時候編譯器可以查找到構造方法,就不會再添加默認的無參構造方法,所以報錯。
m(Stringwords){
this.words=words;
}
添加如下代碼:
publicm(){
}
歡迎追問
⑧ java的構造函數
構造方法用public修飾,因為建立這個類的實例對象的時候系統需要調用它,但是沒有返回值類型,構造方法的特點就是:
1.和類名相同
2.不可使用return返回數值
3.沒有返回類型修飾詞
符合的就是構造函數,當你建立這個類的實例對象的時候如Fruit s=new Fruit();這樣寫的時候,系統就會調用第一個構造方法,應為它沒有傳任何參數,要是這樣寫Fruit s=new Fruit(new String("aaa"),double w);系統會自動調用第二個構造方法。一個類可以有多個構造方法。
void setName(String n)
{
name = n;
}
String getName()
{
return name;
}
這個分開寫主要是為了安全性考慮,不讓其他人直接調用修改成員變數,只通過類的內部方法進行調用。你這個裡面的name應該用private修飾!
我知道的就這么多了!
⑨ JAVA中構造函數是什麼意思
什麼是構造函數,問的好。
開始的時候我也不理解為什麼要構造函數。因為那時候的設計思想還停留在面向過程編程。即我要干什麼事,這件事有幾個步驟,然後我決定怎麼干。
面向對象不是這么直接簡單,它的設計思想就是要代碼重用。即我以前干過類似的事,那麼我找出以前可以用到的代碼,完成一部分。以前沒有的我重新寫。這樣就有了類。
回到你提的問題。有了類,就是有了可以重用的代碼,但是我怎麼產生這個對象呢。必須要實例化這個類(當然這不是唯一產生對象的途徑,比如單例模式,但本質上說所有途徑都是一樣的)。那麼就要用到構造函數。即告訴程序我現在要實例化一個對象了,你給我馬上分配內存。將內存的首地址賦給我指定的類對象。而且有時候你需要傳遞參數到函數裡面,有了構造函數就方便了,構造函數可以有無數個。當然,傳遞參數到到對象裡面也可以其它方法,比如直接賦一個值給成員變數,舉例:
class point2{
int x,y;
point2(){
}
point2(int a,int b){//構造函數;含參的構造函數;構造方法必須要和類名一致
//且沒有返回值
x=a;
y=b;
}
void output(){
System.out.println(x);
System.out.println(y);
}
public static void main(String args[]){
point2 pt=new point2();//實例化對象,這時候x,y沒有賦值,默認初始值為0;
pt.output();
pt.x=3;pt.y=3;
pt.output();
}
}