java 方法 函数 区别_Java中的构造函数和方法之间的区别
Java方法一種方法用于探索對象的行為。
我們可以在方法的前面加上訪問修飾符。
方法必須具有返回類型,例如void,任何原始類型(int,char,float等),任何Object類型(Integer,Float,String等)。
Java編譯器不會隱式調用方法,我們需要顯式調用。
讓我們假設如果我們有一個類,并且在該類中,我們沒有任何單個方法,那么在這種情況下,java編譯器默認不包含其自身的任何方法。
它不是必須具有與其類名稱相同的方法名稱,或者換句話說,方法名稱可以與或不與類名稱相同。
方法有兩種:沒有參數方法
參數化方法
i)沒有參數方法
沒有參數或參數的方法,換句話說,這種方法不帶任何參數的方法稱為無參數方法。
示例class?NoArgumentMethod?{
//無參數方法定義
void?display()?{
System.out.println("We?are?in?no?argument?method");
}
}
class?Main?{
public?static?void?main(String[]?args)?{
//創建一個NoArgumentMethod類的對象
NoArgumentMethod?nam?=?new?NoArgumentMethod();
//調用display()方法
nam.display();
}
}
輸出:E:\Programs>javac?Main.java
E:\Programs>java?Main
We?are?in?no?argument?method
ii)參數化方法
具有參數的方法,換句話說,這種類型的方法接受任何參數,稱為參數化方法。
示例class?ParameterizedMethod?{
String?name;
//參數化方法定義
void?display(String?name)?{
System.out.println("The?name?is?"?+?name);
}
}
class?Main?{
public?static?void?main(String[]?args)?{
//創建一個ParameterizedMethod類的對象
ParameterizedMethod?pm?=?new?ParameterizedMethod();
//調用display()方法
pm.display("Rahul");
}
}
輸出結果E:\Programs>javac?Main.java
E:\Programs>java?Main
The?name?is?Rahul
Java構造函數構造函數是一種特殊的方法,它在創建對象時由JVM(Java虛擬機)隱式調用。
構造函數的目的是初始化對象的實例變量。
我們也可以在訪問說明符前面加上構造函數。
構造函數不能具有返回類型,即它不返回任何東西。
構造函數是一個隱式調用的特殊函數(即,對于我們不需要顯式調用的用戶而言是有益的)。
假設我們有一個名為“ Constructor”的類,并且在該類中,我們不包含任何構造函數,因此在這種情況下,java編譯器將包含一個自己的默認構造函數。
它的名稱必須與構造函數的類名稱相同,或者換句話說,構造函數名稱必須與類名稱相同。
我們有三種類型的構造函數:默認構造函數
參數化構造函數
復制構造函數
i)默認構造函數
如果我們在類中不包含任何構造函數,則此默認構造函數將由編譯器隱式調用。默認構造函數沒有參數,或者說沒有參數構造函數。
示例class?DefaultConstructor?{
//構造函數定義????DefaultConstructor()?{
System.out.println("We?are?in?default?constructor");
}
}
class?Main?{
public?static?void?main(String[]?args)?{
//調用默認構造函數
DefaultConstructor?dc?=?new?DefaultConstructor();
}
}
輸出結果E:\Programs>javac?Main.java
E:\Programs>java?Main
We?are?in?default?constructor
ii)參數化構造函數
具有參數的構造函數稱為參數化構造函數。如果我們想用我們的值初始化實例變量,而該構造函數不會被編譯器隱式調用。
示例class?ParameterizedConstructor?{
String?name;
//構造函數定義
ParameterizedConstructor(String?name)?{
this.name?=?name;
}
}
class?Main?{
public?static?void?main(String[]?args)?{
//調用參數化構造函數
ParameterizedConstructor?pc?=?new?ParameterizedConstructor("Preeti");
System.out.println("The?name?is?:"?+?pc.name);
}
}
輸出結果E:\Programs>javac?Main.java
E:\Programs>java?Main
The?name?is?:?Preeti
iii)復制構造函數
具有一個參數的構造函數,該參數是同一類的引用。
示例class?CopyConstructor?{
String?name;
//構造函數定義
CopyConstructor(String?name)?{
this.name?=?name;
}
}
class?Main?{
public?static?void?main(String[]?args)?{
//調用構造函數
CopyConstructor?cc1?=?new?CopyConstructor("Preeti");
//復制的cc1構造函數
CopyConstructor?cc2?=?cc1;
System.out.println("The?value?of?cc1?is?:"?+?cc1.name);
System.out.println("The?value?of?cc2?is?:"?+?cc2.name);
}
}
輸出結果E:\Programs>javac?Main.java
E:\Programs>java?Main
The?value?of?cc1?is?:Preeti
The?value?of?cc2?is?:Preeti
總結
以上是生活随笔為你收集整理的java 方法 函数 区别_Java中的构造函数和方法之间的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java格式化星期_在Java中使用Si
- 下一篇: java 克隆对象工具类_关于dorad