最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 構(gòu)造方法的使用詳解

 更新時(shí)間:2021年11月05日 10:45:27   作者:兮動(dòng)人  
構(gòu)造方法是類的一種特殊方法,用來初始化類的一個(gè)新的對(duì)象,在創(chuàng)建對(duì)象(new 運(yùn)算符)之后自動(dòng)調(diào)用。Java 中的每個(gè)類都有一個(gè)默認(rèn)的構(gòu)造方法,并且可以有一個(gè)以上的構(gòu)造方法

1. 看一個(gè)需求

看一個(gè)需求:前面我們?cè)趧?chuàng)建人類的對(duì)象時(shí),是先把一個(gè)對(duì)象創(chuàng)建好后,再給他的年齡和姓名屬性賦值,如果現(xiàn)在要求,在創(chuàng)建人類的對(duì)象時(shí),就直接指定這個(gè)對(duì)象的年齡和姓名,該怎么做? 這時(shí)就可以使用構(gòu)造器。

2. 基本語法

[修飾符] 方法名(形參列表){
方法體;
}

說明:

  • 構(gòu)造器的修飾符可以默認(rèn), 也可以是 public protected private
  • 構(gòu)造器沒有返回值
  • 方法名 和類名字必須一樣
  • 參數(shù)列表 和 成員方法一樣的規(guī)則
  • 構(gòu)造器的調(diào)用, 由系統(tǒng)完成

3. 基本介紹

構(gòu)造方法又叫構(gòu)造器(constructor),是類的一種特殊的方法,它的主要作用是完成對(duì)新對(duì)象的初始化。它有幾個(gè)特點(diǎn):

  • 方法名和類名相同
  • 沒有返回值
  • 在創(chuàng)建對(duì)象時(shí),系統(tǒng)會(huì)自動(dòng)的調(diào)用該類的構(gòu)造器完成對(duì)象的初始化。

4. 快速入門

現(xiàn)在就用構(gòu)造方法來完成剛才提出的問題:在創(chuàng)建人類的對(duì)象時(shí),就直接指定這個(gè)對(duì)象的年齡和姓名

Constructor01.java

public class Constructor01 { 

	//編寫一個(gè)main方法
	public static void main(String[] args) {
		//當(dāng)我們new 一個(gè)對(duì)象時(shí),直接通過構(gòu)造器指定名字和年齡
		Person p1 = new Person("smith", 80);
		System.out.println("p1的信息如下");
		System.out.println("p1對(duì)象name=" + p1.name);//smith
		System.out.println("p1對(duì)象age=" + p1.age);//80
	}
}

//在創(chuàng)建人類的對(duì)象時(shí),就直接指定這個(gè)對(duì)象的年齡和姓名
//
class Person {
	String name;
	int age;
	//構(gòu)造器
	//老韓解讀
	//1. 構(gòu)造器沒有返回值, 也不能寫void
	//2. 構(gòu)造器的名稱和類Person一樣
	//3. (String pName, int pAge) 是構(gòu)造器形參列表,規(guī)則和成員方法一樣
	public  Person(String pName, int pAge) {
		System.out.println("構(gòu)造器被調(diào)用,完成對(duì)象的屬性初始化");
		name = pName;
		age = pAge;
	}
}

在這里插入圖片描述

5. 注意事項(xiàng)和使用細(xì)節(jié)

在這里插入圖片描述

public class ConstructorDetail { 

	//編寫一個(gè)main方法
	public static void main(String[] args) {
		Person p1 = new Person("xdr630", 24);//第1個(gè)構(gòu)造器
		Person p2 = new Person("tom");//第2個(gè)構(gòu)造器

	}
}

class Person {
	String name;
	int age;//默認(rèn)0
	//第1個(gè)構(gòu)造器
	public Person(String pName, int pAge) {
		name = pName;
		age = pAge;
	}
	//第2個(gè)構(gòu)造器, 只指定人名,不需要指定年齡
	public Person(String pName) {
		name = pName;
	}
}

在這里插入圖片描述

class Dog {
	//如果程序員沒有定義構(gòu)造器,系統(tǒng)會(huì)自動(dòng)給類生成一個(gè)默認(rèn)無參構(gòu)造器(也叫默認(rèn)構(gòu)造器)
	//使用javap指令 反編譯看看
	/*
		默認(rèn)構(gòu)造器
		Dog() {
			
		}
	 */
	//一旦定義了自己的構(gòu)造器,默認(rèn)的構(gòu)造器就覆蓋了,就不能再使用默認(rèn)的無參構(gòu)造器,
	//除非顯式的定義一下,即:  Dog(){}  寫 (這點(diǎn)很重要)
	//
	public Dog(String dName) {
		//...
	}
	Dog() { //顯式的定義一下 無參構(gòu)造器

	}
}

6. 練習(xí)

ConstructorExercise.java

在前面定義的 Person 類中添加兩個(gè)構(gòu)造器:

  • 第一個(gè)無參構(gòu)造器:利用構(gòu)造器設(shè)置所有人的 age 屬性初始值都為 18
  • 第二個(gè)帶 pName 和 pAge 兩個(gè)參數(shù)的構(gòu)造器:使得每次創(chuàng)建 Person 對(duì)象的同時(shí)初始化對(duì)象的 age 屬性值和 name 屬性值。分別使用不同的構(gòu)造器:
public class ConstructorExercise { 

	//編寫一個(gè)main方法
	public static void main(String[] args) {
		Person p1 = new Person();//無參構(gòu)造器

		//下面輸出 name = null, age = 18
		System.out.println("p1的信息 name=" + p1.name + " age=" + p1.age);

		Person p2 = new Person("scott", 50);
		//下面輸出 name = scott, age = 50
		System.out.println("p2的信息 name=" + p2.name + " age=" + p2.age);

	}
}

/**
 * 在前面定義的Person類中添加兩個(gè)構(gòu)造器:
 * 第一個(gè)無參構(gòu)造器:利用構(gòu)造器設(shè)置所有人的age屬性初始值都為18
 * 第二個(gè)帶pName和pAge兩個(gè)參數(shù)的構(gòu)造器:
 * 使得每次創(chuàng)建Person對(duì)象的同時(shí)初始化對(duì)象的age屬性值和name屬性值。
 * 分別使用不同的構(gòu)造器,創(chuàng)建對(duì)象.
 */

class Person {
	String name;//默認(rèn)值 null
	int age;//默認(rèn) 0
	//第一個(gè)無參構(gòu)造器:利用構(gòu)造器設(shè)置所有人的age屬性初始值都為18
	public Person() {
		age = 18;
	}
	//第二個(gè)帶pName和pAge兩個(gè)參數(shù)的構(gòu)造器
	public Person(String pName, int pAge) {
		name = pName;
		age = pAge;
	}
}

在這里插入圖片描述

到此這篇關(guān)于Java 構(gòu)造方法的使用詳解的文章就介紹到這了,更多相關(guān)Java 構(gòu)造方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java Calendar日歷類原理及使用方法

    Java Calendar日歷類原理及使用方法

    這篇文章主要介紹了Java Calendar日歷類原理及使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • java 文件上傳(單文件與多文件)

    java 文件上傳(單文件與多文件)

    這篇文章主要介紹了java 文件上傳(單文件與多文件)的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • Java實(shí)現(xiàn)按行分割大文件

    Java實(shí)現(xiàn)按行分割大文件

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)按行分割大文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • Spring Boot整合mybatis使用注解實(shí)現(xiàn)動(dòng)態(tài)Sql、參數(shù)傳遞等常用操作(實(shí)現(xiàn)方法)

    Spring Boot整合mybatis使用注解實(shí)現(xiàn)動(dòng)態(tài)Sql、參數(shù)傳遞等常用操作(實(shí)現(xiàn)方法)

    這篇文章主要介紹了Spring Boot整合mybatis使用注解實(shí)現(xiàn)動(dòng)態(tài)Sql、參數(shù)傳遞等常用操作(實(shí)現(xiàn)方法),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java實(shí)現(xiàn)導(dǎo)出Excel功能

    Java實(shí)現(xiàn)導(dǎo)出Excel功能

    通過java中Controller層,來接受請(qǐng)求,數(shù)據(jù)庫查詢到的數(shù)據(jù)進(jìn)行封裝,然后使用ExcelUtils進(jìn)行輸出,接下來通過本文給大家分享Java實(shí)現(xiàn)導(dǎo)出Excel功能的實(shí)例代碼,感興趣的朋友跟隨小編一起看看吧
    2021-11-11
  • 由ArrayList來深入理解Java中的fail-fast機(jī)制

    由ArrayList來深入理解Java中的fail-fast機(jī)制

    fail-fast俗稱快速失敗,是在多線程進(jìn)行迭代操作時(shí)產(chǎn)生沖突的一種異常拋出機(jī)制,下面我們就由ArrayList來深入理解Java中的fail-fast機(jī)制.
    2016-05-05
  • 淺談Java實(shí)現(xiàn)面向?qū)ο缶幊蘪ava oop

    淺談Java實(shí)現(xiàn)面向?qū)ο缶幊蘪ava oop

    這篇文章主要介紹了淺談Java實(shí)現(xiàn)面向?qū)ο缶幊蘪ava oop,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java?pdf文件書簽承前縮放驗(yàn)證的設(shè)置方法

    Java?pdf文件書簽承前縮放驗(yàn)證的設(shè)置方法

    很多朋友不知道是什么是書簽承前縮放,簡單說就是可以任意改變當(dāng)前pdf文檔縮放比例,點(diǎn)擊書簽后不影響其縮放比率,本文給大家介紹下Java?pdf文件書簽承前縮放驗(yàn)證的設(shè)置方法,感興趣的朋友一起看看吧
    2022-02-02
  • java中sdk與jdk的區(qū)別詳細(xì)解析

    java中sdk與jdk的區(qū)別詳細(xì)解析

    以下是對(duì)java中sdk與jdk的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • SpringBoot整合Redisson實(shí)現(xiàn)高性能實(shí)時(shí)排行榜

    SpringBoot整合Redisson實(shí)現(xiàn)高性能實(shí)時(shí)排行榜

    在當(dāng)今的互聯(lián)網(wǎng)應(yīng)用中,排行榜功能幾乎無處不在,那么如何用Spring Boot和Redisson快速搭建一個(gè)高性能的實(shí)時(shí)排行榜呢,下面我們就來詳細(xì)聊聊這個(gè)技術(shù)方案吧
    2025-04-04

最新評(píng)論

长乐市| 会泽县| 东平县| 左权县| 浦城县| 汝阳县| 灵山县| 通海县| 巴彦淖尔市| 比如县| 乐都县| 黑山县| 平利县| 临高县| 确山县| 简阳市| 凤台县| 灵台县| 蓬安县| 白山市| 油尖旺区| 介休市| 西林县| 武夷山市| 敖汉旗| 鄢陵县| 铜陵市| 济源市| 汉阴县| 合肥市| 民权县| 曲靖市| 兴安盟| 福鼎市| 大邑县| 黄陵县| 双辽市| 宁城县| 芜湖市| 盖州市| 绥棱县|