国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Java編程教程】詳解Java 構造函數(shù)

這篇具有很好參考價值的文章主要介紹了【Java編程教程】詳解Java 構造函數(shù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在Java中,構造函數(shù)是類似于方法的代碼塊。它在創(chuàng)建類的實例時被調用。在調用構造函數(shù)時,對象的內存是在內存中分配的。

它是一種特殊類型的方法,用于初始化對象。

每次使用 new() 關鍵字創(chuàng)建對象時,至少會調用一個構造函數(shù)。

如果類中沒有可用的構造函數(shù),它會調用默認構造函數(shù)。在這種情況下,Java 編譯器默認提供默認構造函數(shù)。

Java 中有兩種類型的構造函數(shù):無參數(shù)構造函數(shù)和參數(shù)化構造函數(shù)。

注意:它被稱為構造函數(shù),因為它在對象創(chuàng)建時構造值。沒有必要為類編寫構造函數(shù)。這是因為如果您的類沒有默認構造函數(shù),java 編譯器會創(chuàng)建一個默認構造函數(shù)。

# 創(chuàng)建 Java 構造函數(shù)的規(guī)則

為構造函數(shù)定義了兩個規(guī)則。

  1. 構造函數(shù)名必須與其類名相同

  2. 構造函數(shù)必須沒有明確的返回類型

  3. Java 構造函數(shù)不能是抽象的、靜態(tài)的、最終的和同步的

注意:我們可以在聲明構造函數(shù)時使用訪問修飾符。它控制對象的創(chuàng)建。換句話說,我們可以在 Java 中擁有 private、protected、public 或 default 構造函數(shù)。

# Java構造函數(shù)的類型

Java 中有兩種類型的構造函數(shù):

  1. 默認構造函數(shù)(無參數(shù)構造函數(shù))

  2. 參數(shù)化構造函數(shù)

# Java 默認構造函數(shù)

當構造函數(shù)沒有任何參數(shù)時,它被稱為“默認構造函數(shù)”。

默認構造函數(shù)的語法:


<類名>(){}

默認構造函數(shù)示例

在此示例中,我們在 Bike 類中創(chuàng)建無參數(shù)構造函數(shù)。它將在對象創(chuàng)建時被調用。


//Java 程序創(chuàng)建并調用默認構造函數(shù)  
class Bike1{  
//創(chuàng)建默認構造函數(shù) 
Bike1(){System.out.println("自行車已創(chuàng)建");}  
//主要方法 
public static void main(String args[]){  
//調用默認構造函數(shù) 
Bike1 b=new Bike1();  
}  
}

輸出:


自行車已創(chuàng)建

規(guī)則:如果類中沒有構造函數(shù),編譯器會自動創(chuàng)建一個默認構造函數(shù)。

Q) 默認構造函數(shù)的目的是什么?

默認構造函數(shù)用于為對象提供默認值,如 0、null 等,具體取決于類型。

顯示默認值的默認構造函數(shù)示例


//讓我們看另一個默認構造函數(shù)的例子 
//顯示默認值 
class Student3{  
int id;  
String name;  
//顯示id和name值的方法 
void display(){System.out.println(id+" "+name);}  
  
public static void main(String args[]){  
//創(chuàng)建對象 
Student3 s1=new Student3();  
Student3 s2=new Student3();  
//顯示對象的值 
s1.display();  
s2.display();  
}  
}

輸出:


0 null
0 null

說明:在上面的類中,您沒有創(chuàng)建任何構造函數(shù),因此編譯器為您提供了一個默認構造函數(shù)。這里 0 和 null 值由默認構造函數(shù)提供。

Java參數(shù)化構造函數(shù)

具有特定數(shù)量參數(shù)的構造函數(shù)稱為參數(shù)化構造函數(shù)。

為什么要使用參數(shù)化構造函數(shù)?

參數(shù)化構造函數(shù)用于為不同的對象提供不同的值。但是,您也可以提供相同的值。

參數(shù)化構造函數(shù)示例

在此示例中,我們創(chuàng)建了具有兩個參數(shù)的 Student 類的構造函數(shù)。我們可以在構造函數(shù)中有任意數(shù)量的參數(shù)。


//Java程序演示參數(shù)化構造函數(shù)的使用。
class Student4{  
    int id;  
    String name;  
    //創(chuàng)建參數(shù)化構造函數(shù) 
    Student4(int i,String n){  
    id = i;  
    name = n;  
    }  
    //顯示值的方法 
    void display(){System.out.println(id+" "+name);}  
   
    public static void main(String args[]){  
    //創(chuàng)建對象并傳遞值
    Student4 s1 = new Student4(111,"小卡");  
    Student4 s2 = new Student4(222,"小安");  
    //調用方法顯示對象的值
    s1.display();  
    s2.display();  
   }  
}

輸出:


111 小卡
222 小安

# Java 中的構造函數(shù)重載

在 Java 中,構造函數(shù)就像一個方法,但沒有返回類型。它也可以像 Java 方法一樣被重載。

Java 中的構造函數(shù)重載是一種擁有多個具有不同參數(shù)列表的構造函數(shù)的技術。它們的排列方式使每個構造函數(shù)執(zhí)行不同的任務。編譯器根據列表中參數(shù)的數(shù)量及其類型來區(qū)分它們。

構造函數(shù)重載的例子

//Java程序重載構造函數(shù) 
class Student5{  
    int id;  
    String name;  
    int age;  
    //創(chuàng)建兩個arg構造函
    Student5(int i,String n){  
    id = i;  
    name = n;  
    }  
    //創(chuàng)建三參數(shù)構造函數(shù) 
    Student5(int i,String n,int a){  
    id = i;  
    name = n;  
    age=a;  
    }  
    void display(){System.out.println(id+" "+name+" "+age);}  
   
    public static void main(String args[]){  
    Student5 s1 = new Student5(111,"小卡");  
    Student5 s2 = new Student5(222,"小安",25);  
    s1.display();  
    s2.display();  
   }  
}

輸出:


111 小卡 null
222 小安 25

# Java中構造函數(shù)和方法的區(qū)別

構造函數(shù)和方法之間存在許多差異。它們在下面給出。

Java構造函數(shù) 方法
構造函數(shù)用于初始化對象的狀態(tài)。 方法用于暴露對象的行為。
構造函數(shù)不能有返回類型。 方法必須有返回類型。
構造函數(shù)被隱式調用。 該方法被顯式調用。
如果類中沒有任何構造函數(shù),Java 編譯器會提供默認構造函數(shù)。 在任何情況下,編譯器都不會提供該方法。
構造函數(shù)名必須與類名相同。 方法名可能與類名相同,也可能不同。

# Java 復制構造函數(shù)

Java 中沒有復制構造函數(shù)。但是,我們可以將值從一個對象復制到另一個對象,就像 C++ 中的復制構造函數(shù)一樣。

在 Java 中有多種方法可以將一個對象的值復制到另一個對象中。他們是:

  • 通過構造函數(shù)

  • 通過將一個對象的值分配給另一個對象

  • 通過 Object 類的 clone() 方法

在此示例中,我們將使用 Java 構造函數(shù)將一個對象的值復制到另一個對象中。


//Java 程序將值從一個對象初始化為另一個對象。
class Student6{  
    int id;  
    String name;  
    //初始化整數(shù)和字符串的構造函數(shù) 
    Student6(int i,String n){  
    id = i;  
    name = n;  
    }  
    //構造函數(shù)來初始化另一個對象 
    Student6(Student6 s){  
    id = s.id;  
    name =s.name;  
    }  
    void display(){System.out.println(id+" "+name);}  
   
    public static void main(String args[]){  
    Student6 s1 = new Student6(111,"小卡");  
    Student6 s2 = new Student6(s1);  
    s1.display();  
    s2.display();  
   }  
}

輸出:


111小卡
111小卡

問)構造函數(shù)是否返回任何值?

是的,它是當前的類實例(你不能使用返回類型但它返回一個值)。

構造函數(shù)可以執(zhí)行其他任務而不是初始化嗎?

是的,像創(chuàng)建對象、啟動線程、調用方法等。您可以像在方法中執(zhí)行操作一樣在構造函數(shù)中執(zhí)行任何操作。

Java中有構造函數(shù)類嗎?

有的。

Constructor類的目的是什么?

Java提供了一個Constructor類,可以用來獲取類中構造函數(shù)的內部信息。它位于 java.lang.reflect 包中。文章來源地址http://www.zghlxwxcb.cn/news/detail-735952.html

到了這里,關于【Java編程教程】詳解Java 構造函數(shù)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【Java編程教程】詳解 Java continue 繼續(xù)循環(huán)語句

    當需要立即跳轉到循環(huán)的下一次迭代時,在循環(huán)控制結構中使用 continue 語句。它可以與 for 循環(huán)或 while 循環(huán)一起使用。 Java continue 語句用于繼續(xù)循環(huán)。它繼續(xù)程序的當前流程并跳過指定條件下的剩余代碼。在內部循環(huán)的情況下,它僅繼續(xù)內部循環(huán)。 我們可以在所有類型的循

    2024年02月04日
    瀏覽(24)
  • Java課題筆記~ Servlet編程

    Java課題筆記~ Servlet編程

    (1)什么是Servlet Servlet是基于Java語言的Web編程技術,部署在服務器端的Web容器里,獲取客戶端的訪問請求,并根據請求生成響應信息返回給客戶端。 創(chuàng)建Servlet的方式,有 如下圖:一般創(chuàng)建Servlet都是通過繼承HttpServlet來實現(xiàn),如圖中的HelloServlet。 (類圖快捷鍵:Ctrl + Alt + U)

    2024年02月13日
    瀏覽(28)
  • 如何在 Java 中從另一個構造函數(shù)調用一個構造函數(shù)?

    是否可以從另一個(在同一個類中,而不是從子類中)調用構造函數(shù)?如果是怎么辦?調用另一個構造函數(shù)的最佳方法是什么(如果有幾種方法可以做到)? huntsbot.com高效搞錢,一站式跟進超10+任務平臺外包需求 對的,這是可能的: 要鏈接到特定的超類構造函數(shù)而不是同一

    2024年02月03日
    瀏覽(19)
  • 【Java基礎教程】(七)面向對象篇 · 第一講:上干貨!面向對象的特性、類與對象、內存結構引用分析、垃圾收集器 GC處理、封裝性詳解、構造方法、匿名對象、簡單 Java 類~

    【Java基礎教程】(七)面向對象篇 · 第一講:上干貨!面向對象的特性、類與對象、內存結構引用分析、垃圾收集器 GC處理、封裝性詳解、構造方法、匿名對象、簡單 Java 類~

    程序是將數(shù)據和邏輯封裝在一起的代碼段。在Java中,方法是常用的代碼段封裝方式。然而,在Java中,方法必須存在于一個類中才能使用。因此,我們將進入本章的核心內容——面向對象編程。 利用面向對象設計的程序可以實現(xiàn)代碼的重用,并方便開發(fā)者進行項目維護。面向

    2024年02月13日
    瀏覽(25)
  • 【JAVA雜貨鋪】一文帶你走進面向對象編程的構造方法 | Java| 面向對象編程 | (中)

    【JAVA雜貨鋪】一文帶你走進面向對象編程的構造方法 | Java| 面向對象編程 | (中)

    ??個人主頁:? Aileen_0v0 ??系列專欄: Java學習系列專欄 ??個人格言: \\\"沒有羅馬,那就自己創(chuàng)造羅馬~\\\" ? 目錄 回顧 ?構造方法 ?this 面試題 構造方法的類型? 下節(jié)預告 代碼塊? 之前我們學習了什么是類? 什么是對象? 什么是面向對象編程 定義類 ? 構造方法 :它的方法名

    2024年02月05日
    瀏覽(30)
  • 詳解JAVA中的構造方法

    詳解JAVA中的構造方法

    目錄 一、構造方法的概念 二、構造方法的特 性 ????????構造方法(也稱為構造器)是一個特殊的成員方法, 名字必須與類名相同,在創(chuàng)建對象時由編譯器自動調用,并且在整個對象的生命周期內只調用一次。 代碼演示: 運行結果 : 注意: ????????? 構造方法的作

    2023年04月08日
    瀏覽(21)
  • java中構造函數(shù)在繼承中的調用順序是什么?

    在Java中,當創(chuàng)建子類對象時,構造函數(shù)的調用順序遵循以下規(guī)則: 父類的靜態(tài)變量和靜態(tài)初始化塊 :首先,Java會加載父類,并執(zhí)行父類中的靜態(tài)變量初始化和靜態(tài)初始化塊(靜態(tài)代碼塊)。這只會在類首次被加載到JVM時執(zhí)行一次。 子類的靜態(tài)變量和靜態(tài)初始化塊 :接下來

    2024年04月10日
    瀏覽(21)
  • Java8函數(shù)式接口, 方法引用, 構造器引用, 數(shù)組引用

    Java8函數(shù)式接口, 方法引用, 構造器引用, 數(shù)組引用

    只包含一個抽象方法的接口,稱為函數(shù)式接口。 你可以通過Lambda表達式來創(chuàng)建該接口的對象。(若Lambda表達式拋出一個受檢異常(即:非運行時異常),那么該異常需要在目標接口的抽象方法上進行聲明 我們可以在一個接口上使用 @Functionallnterface 注解,這樣做可以檢查它是

    2024年02月05日
    瀏覽(52)
  • Java中構造器詳解(類的五成員之三:構造器)

    先看文章目錄,大致了解知識點結構,直接點擊文章目錄可以跳轉到文章指定位置。 Java的基本單位是類,類中包含五個部分,這篇寫的是 構造器 。 (1)變量 (2)方法 (3)構造器 (4)初始化塊 (5)內部類 ①構造器是處于Java類中的一個方法,最大的作用創(chuàng)建對象時執(zhí)行

    2024年02月08日
    瀏覽(24)
  • 11、Java 變量作用域、構造方法官方教程

    11、Java 變量作用域、構造方法官方教程

    Java 中的變量有3種: ?? ① 全局變量:被定義在類中( 成員變量 ) ?? ② 局部變量: 被定義在成員方法、代碼塊、靜態(tài)代碼塊中定義的變量 ?? ③ 參數(shù):方法聲明中的變量 There are several kinds of variables (變量): ?? Member variables (成員變量) in a class:these are called fields(屬

    2023年04月08日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包