您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何定義java的構造器”,在日常操作中,相信很多人在如何定義java的構造器問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何定義java的構造器”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
1、構造器
1.1 權限修飾符是public
1.2 顯示定義構造器
構造器也叫構造方法、構造函數,是一種特殊類型的方法,負責類中成員變量(域)的初始化。構造器的用處是在創建對象時執行初始化,當創建一個對象時,系統會為這個對象的實例進行默認的初始化。
有兩種類型的構造方法:
1、默認構造方法(無參數構造方法)
2、參數化構造方法
權限修飾符是public
,表示內部屬性能被其他類訪問到。
java
默認的構造方法是無參的。
Java編譯器會自動創建無參構造函數,因此在類中,無參構造即使沒有,我們也可省略不寫。實例化對象時無需賦值
新建一個Person
類,再用new實例化person
對象。運行后會生成一個Person.class
對象。
public class Demo02 { public static void main(String[] args) { //new 實例化一個對象 //一個類就算什么也不寫,也存在一個方法,且方法名與類名相同。 Person p=new Person();創建對象,括號內無需賦值,沒賦值的情況下,字符類型默認值為null,數值類型默認值為0 } } public class Person { }
若類中什么也不寫,運行之后,默認多一個Person()
方法,下面是Person.class
的代碼:
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // package Demo01; public class Person { public Person() { } }
故:一個類就算什么也不寫,他也會存在一個默認的方法
參數化構造方法:
參數化構造方法用于為不同對象提供不同初始化的值。
倘若類中已存在有參構造函數,則編譯器不再提供默認無參構造。實例化對象時需賦值,不然報錯
package Demo01; public class Demo02 { public static void main(String[] args) { //new 實例化一個對象 //一個類就算什么也不寫,也存在一個方法,且方法名與類名相同。 Person p=new Person(); System.out.println(p.name);//null } }
package Demo01; public class Person { String name; //實例化初始值 //1、使用new關鍵字,本質實在構造器 //2、用來初始化值 public Person(){//默認構造器 this.name="xiaoming"; } //有參構造:一旦定義了有參構造,無參構造就必須顯示定義,否則無效,也是重載 public Person(String name){ this.name=name; } //快捷鍵: alt + insert 生成構造器,自動生成構造器,有參無參可自行選擇。 }
總結:
構造器:
1、和類名相同
2、沒有返回值
作用:
1、new 本質在調用構造方法
2、初始化對象的值
注意:定義構造之后,如果想使用無參構造,顯示的定義一個無參構造,否則不能使用無參的構造方法ALT + INSERT 生成構造器
到此,關于“如何定義java的構造器”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。