導航:首頁 > 知識科普 > java怎麼構造類方法

java怎麼構造類方法

發布時間:2022-04-30 15:09:37

『壹』 java 類 構造方法

PublicclassHero{
privateStringname;
Privateintattack;
Privateinthp;
Privateintmp;
Privateintspeed;
//構造方法
publicFather(Stringname,intattack,inthp,intmp,intspeed){
this.name=name;
this.attack=attack;
this.hp=hp;
this.mp=mp;
this.speed=speed;
}
}

publicclassHeroesextendsHero{
privateStringskill;
//構造方法
publicHeroes(Stringname,intattack,inthp,intmp,intspeed,Stringskill){
super(name,attack,hp,mp,speed);
this.skill=skill;
}
//測試
publicstaticvoidmain(String[]args){
Heroesh1=newHeroes("劍聖",250,2500,0,530,"高原血統");
Heroesh2=newHeroes("蠻子",350,2500,0,470,"無盡的怒火");
}

}


哥們你這是瞎搞啊我純手給你打的望採納吧

『貳』 java怎樣建類

Java新建一個類,可以通過如下形式:

publicclassA{//public關鍵字可以去掉,class是一個關鍵字,是必須寫上的。A是類名,由創建者決定,但要符合規則:只要以下劃線或者字母開頭,後面字母數字或者下劃線。
inti;//可以定義多個變數
publicvoidfun(){//可以定義多個方法,個數為0或多個
}
}

『叄』 JAVA構造方法

構造方法必須滿足以下語法規則:

(1) 方法名必須與類名相同。

(2)不要聲明返回類型。

(3)不能被static、final、synchronized、abstract和native修飾。構造方法不能被子類繼承,所以用final和

abstract修飾沒有意義。構造方法用於初始化一個新建的對象,所以用static修飾沒有意義。多個線程不會同時創建內存地址相同的同一個對象,因此用synchronized修飾沒有必要。此外,Java語言不支持native類型的構造方法。

例:

public class Sample {

private int x;

public Sample() { // 不帶參數的構造方法

this(1);

}

public Sample(int x) { //帶參數的構造方法

this.x=x;

}

public int Sample(int x) { //不是構造方法

return x++;

}

}

拓展資料:

構造方法的訪問級別

構造方法可以處於public、protected、默認和private這四種訪問級別之一。本節著重介紹構造方法處於private級別的意義。

當構造方法為private級別,意味著只能在當前類中訪問它:在當前類的其他構造方法中可以通過this語句調用它,此外還可以在當前類的成員方法中通過new語句調用它。

在以下場合之一,可以把類的所有構造方法都聲明為private類型。

(1)在這個類中僅僅包含了一些供其他程序調用的靜態方法,沒有任何實例方法。其他程序無需創建該類的實例,就能訪問類的靜態方法。例如 java.lang.Math類就符合這種情況,在Math類中提供了一系列用於數學運算的公共靜態方法,為了禁止外部程序創建Math類的實例, Math類的惟一的構造方法是private類型的:

private Math(){}

abstract類型的類也不允許實例化。也許你會問,把Math類定義為如下abstract類型,不是也能禁止Math類被實例化嗎?

public abstract class Math{…}

如果一個類是抽象類,意味著它是專門用於被繼承的類,可以擁有子類,而且可以創建具體子類的實例。而JDK並不希望用戶創建Math類的子類,在這種情況下,把類的構造方法定義為private類型更合適。

(2)禁止這個類被繼承。當一個類的所有構造方法都是private類型,假如定義了它的子類,那麼子類的構造方法無法調用父類的任何構造方法,因此會導致編譯錯誤。把一個類聲明為final類型,也能禁止這個類被繼承。這兩者的區別是:

1)如果一個類允許其他程序用new語句構造它的實例,但不允許擁有子類,那就把類聲明為final類型。

2)如果一個類既不允許其他程序用new語句構造它的實例,又不允許擁有子類,那就把類的所有構造方法聲明為private類型。

由於大多數類都允許其他程序用new語句構造它的實例,因此用final修飾符來禁止類被繼承的做法更常見。

(3)這個類需要把構造自身實例的細節封裝起來,不允許其他程序通過new語句創建這個類的實例,這個類向其他程序提供了獲得自身實例的靜態方法,這種方法稱為靜態工廠方法。

參考資料:java 構造函數

『肆』 談一談Java中類的構造方法

this代表你正在構造的對象。public class Test {public Test() {System.out.println(this.toString());}public static void main(String[] args) {Test obj = new Test();System.out.println(obj.toString());}}輸出的兩個字元串相同(後面的數字是對象地址),說明this和obj是同一個對象。這里this就是正在構建的CommunicationDemo的對象,作為參數傳給Thread的構造函數。內幕是:java對象的建立其實是在構造函數開始執行之前,就是說構造函數執行的時候,被構造的對象其實已經存在了,所以構造函數中可以用this引用當前被構造的對象進行處理(比如this.name=「Jack」)。

『伍』 Java類的構造方法,怎麼

你這里構造方法調用其他構造方法,不能這么用。可以用this關鍵字去代替。
public Student(String name, int id){
this(name); //調用本類一個參數的構造方法。 用this調用其他的語句,必須要放在構造函數中的第一個語句。
this.id = id;
}
public Student(String name){
this.name = name;
}

『陸』 java類創建方法

有4種顯式地創建對象的方式:
1.用new語句創建對象,這是最常用的創建對象的方式。
2.運用反射手段,調用java.lang.Class或者java.lang.reflect.Constructor類的newInstance()實例方法。
3.調用對象的clone()方法。
4.運用反序列化手段,調用java.io.ObjectInputStream對象的readObject()方法.

『柒』 JAVA的構造方法

java的構造函數其實很簡單。一個類 被實例化 也就是被new的時候 最先執行的是 構造函數,如果有留心。會發現很多類裡面根本沒有寫構造函數。在java類中,如果不顯示聲明構造函數,JVM 會給該類一個默認的構造函數。一個類可以有多個構造函數。構造函數的主要作用 一是用來實例化該類。二是 讓該類實例化的時候執行哪些方法,初始化哪些屬性。當一個類聲明了構造函數以後,JVM 是不會再給該類分配默認的構造函數。

『捌』 java類的構造方法是什麼

構造方法和實例方法的區別

一、主要的區別在於三個方面:修飾符、返回值、命名

1、和實例方法一樣,構造器可以有任何訪問的修飾符,public、private、protected或者沒有修飾符 ,都可以對構造方法進行修飾。不同於實例方法的是構造方法不能有任何非訪問性質的修飾符修飾,例如static、final、synchronized、abstract等都不能修飾構造方法。

解釋:構造方法用於初始化一個實例對象,所以static修飾是沒有任何意義的;多個線程不會同時創建內存地址相同的同一個對象,所以synchronized修飾沒有意義;

構造方法不能被子類繼承,所以final和abstract修飾沒有意義。

2、返回類型是非常重要的,實例方法可以返回任何類型的值或者是無返回值(void),而構造方法是沒有返回類型的,void也不行。

3、至於命名就是構造方法與類名相同,當然了實例方法也可以與類名相同,但是習慣上我們為實例方法命名的時候通常是小寫的,另一方面也是與構造方法區分開。

而構造方法與類名相同,所以首字母一般大寫。

下面看幾個例子熟悉一下:

publicclassSample{

privateintx;

publicSample(){//不帶參數的構造方法
this(1);
}

publicSample(intx){//帶參數的構造方法
this.x=x;
}

publicintSample(intx){//不是構造方法
returnx++;
}

}

上面的例子即使不通過注釋我們也很容易能區分開的,再看下面一個例子

publicclassMystery{
privateStrings;

publicvoidMystery(){//不是構造方法
s="constructor";
}

voidgo(){
System.out.println(s);
}

publicstaticvoidmain(String[]args){
Mysterym=newMystery();
m.go();
}
}

程序執行的結果為null,雖然說Mystery m = new Mystery();調用了Mystery 類的構造方法,但是public void Mystery()並不是構造方法,他只是一個普通的實例方法而已,那該類的構造方法哪去了呢?


二、說到這就得說一下java的默認構造方法

我們知道,java語言中規定每個類至少要有一個構造方法,為了保證這一點,當用戶沒有給java類定義明確的構造方法的時候,java為我們提供了一個默認的構造方法,這個構造方法沒有參數,修飾符是public並且方法體為空。如果用戶有定義構造方法,就不會有默認構造方法!!!

其實默認的構造方法還分為兩種,一種就是剛剛說過的隱藏的構造方法,另一種就是顯示定義的默認構造方法.

如果一個類中定義了一個或者多個構造方法,並且每一個構造方法都是帶有參數形式的,那麼這個類就沒有默認的構造方法,看下面的例子。

publicclassSample1{}

publicclassSample2{
publicSample2(inta){System.out.println("MyConstructor");}
}

publicclassSample3{
publicSample3(){System.out.println("MyDefaultConstructor");}
}

上面的三個類中Sample1有一個隱式的默認構造方法,下列語句Sample1 s1=new Sample()合法;

Sample2沒有默認的構造方法,下列語句Sample2 s2=new Sample2()不合法,執行會編譯錯誤

Sample3有一個顯示的默認構造方法,所以以下語句Sample3 s3=new Sample3();合法。

『玖』 簡述java類的構造方法

anything
at
=
new
anything();
直接調用無參構造函數就可以了
因為
無參構造中
已經調用了
有參數的那個構造..
運行結果
----------------------
有參構造方法
無參構造方法
----------------------

閱讀全文

與java怎麼構造類方法相關的資料

熱點內容
駁口金油使用方法 瀏覽:857
足背伸的鍛煉方法 瀏覽:794
牛舍風機安裝方法 瀏覽:392
道路綠地覆蓋率的計算方法 瀏覽:766
做木珠子最簡單的方法 瀏覽:396
燈光控制手機的使用方法 瀏覽:81
目的基因檢測的步驟和方法是什麼 瀏覽:676
分數混合計算方法總結 瀏覽:370
英語教學方法有哪些直接法情景法 瀏覽:927
分析和綜合思維方法的運用 瀏覽:783
aca電蒸鍋使用方法 瀏覽:851
畫疊被子的簡便方法 瀏覽:361
舞蹈正確踢腿方法 瀏覽:820
企鵝支架訓練方法 瀏覽:572
常用的安全風險分析評估方法有哪幾種 瀏覽:2
配音秀中測試方法哪裡看 瀏覽:625
人生解決問題方法 瀏覽:101
毛線打結方法視頻 瀏覽:809
蘋果手機里緩存的騰訊視頻在哪裡設置方法 瀏覽:636
常用表示溶液的方法有 瀏覽:934