第十八節:第三部分:java高級:反射-獲取構造器對象并使用

Class提供的獲取類構造器的方法以及獲取類構造器的作用

Class提供的獲取類構造器的方法以及獲取類構造器的作用

代碼:掌握獲取類的構造器,并對其進行操作

Cat類

package com.itheima.day9_reflect;public class Cat {private String name;private int age;private Cat(String name, int age) {this.name = name;this.age = age;System.out.println("有參數構造器執行了~~");}private Cat() {System.out.println("無參數構造器執行了~~");}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Cat{" +"name='" + name + '\'' +", age=" + age +'}';}
}

Test2Constructor類(主程序)

package com.itheima.day9_reflect;import org.junit.Test;import java.lang.reflect.Constructor;/*
* 目標:掌握獲取類的構造器,并對其進行操作。
* */
public class Test2Constructor {@Test//獲取全部構造器public void testGetConstructors() throws Exception {//1、反射第一步:必須先得到這個類的Class對象Class c = Cat.class;// 2、獲取類的全部構造器// Constructor[] constructors = c.getConstructors();Constructor[] constructors = c.getDeclaredConstructors();// 3、遍歷數組中的每個構造器對象for (Constructor constructor : constructors) {System.out.println(constructor.getName()+"====>"+constructor.getParameterCount());}}@Testpublic void testGetConstructor() throws Exception {//1、反射第一步:必須先得到這個類的Class對象Class c = Cat.class;// 2、獲取某個構造器:無參數構造器//Constructor constructor2 = c.getConstructor();Constructor constructor1 = c.getDeclaredConstructor();System.out.println(constructor1.getName()+"====>"+constructor1.getParameterCount());constructor1.setAccessible(true);//禁止檢查訪問權限Cat cat = (Cat) constructor1.newInstance();System.out.println(cat);// 3、獲取有參數構造器Constructor constructor2 = c.getDeclaredConstructor(String.class, int.class);System.out.println(constructor2.getName()+"====>"+constructor2.getParameterCount());constructor2.setAccessible(true);//禁止檢查訪問權限Cat cat2 = (Cat) constructor2.newInstance("叮當貓",3);System.out.println(cat2);}
}

結果

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/89285.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/89285.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/89285.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

集中打印和轉換Office 批量打印精靈:Word/Excel/PDF 全兼容,效率翻倍

各位辦公小能手們!你們平時辦公的時候,是不是經常要打印一堆文件,煩得要命?別慌,今天我給大家介紹一款超厲害的神器——Office批量打印精靈! 軟件下載地址安裝包 這玩意兒啊,是專門為高效辦公設…

docker的搭建

一、安裝docker使用以下命令進行安裝dockerapt-get install docker.io docker-compose使用以下命令進行查看docker是否開啟systemctl status docker由此可見,docker沒有打開,進行使用命令打開。systemctl start docker再次查看是否開啟。肉眼可見&#x…

數據庫管理-第349期 Oracle DB 23.9新特性一覽(20250717)

數據庫管理349期 2025-07-17數據庫管理-第349期 Oracle DB 23.9新特性一覽(20250717)1 JavaScript過程和函數的編譯時語法檢查2 不再需要JAVASCRIPT上的EXECUTE權限3 GROUP BY ALL4 使用SQL創建并測試UUID5 IVF索引在線重組6 JSON到二元性遷移器&#xf…

將CSDN文章導出為PDF

作者:翟天保Steven 版權聲明:著作權歸作者所有,商業轉載請聯系作者獲得授權,非商業轉載請注明出處前言在日常學習和技術積累過程中,我們經常會在 CSDN 等技術博客平臺上閱讀高質量的技術文章。然而,網頁閱讀…

macOS - Chrome 關閉自動更新

進入 Google 相關資源文件夾 刪除 GoogleSoftwareUpdate 文件夾 open ~/Library/Google 部分教程推薦,在 chrome://flags/ 頁面設置,但最近沒看到 自動更新相關開關。2025-07-13(日)

Python 模塊化編程全解析:模塊、包與第三方庫管理指南

模塊與包 模塊化編程是什么?用生活例子秒懂 想象你在搭樂高積木: 每個小積木塊都有特定功能(比如輪子、窗戶、墻壁)—— 這就像模塊(一個.py 文件,封裝了函數或類)。把相關的積木塊裝進一個盒…

小白學Python,網絡爬蟲篇(2)——selenium庫

前言 selenium 庫是一種用于 Web 應用程序測試的工具,它可以驅動瀏覽器執行特定操作,自動按照腳本代碼做出單擊、輸入、打開、驗證等操作,支持的瀏覽器包括 IE、Firefox、Safari、Chrome、Opera 等。 與 requests 庫不同的是,se…

Java安全:SpringBoot項目中Fastjson組件的使用與安全實踐

前言 Fastjson是阿里巴巴開源的一個高性能Java JSON庫,廣泛用于Java對象的序列化和反序列化操作。在SpringBoot項目中,Fastjson常被用作JSON處理工具。然而,Fastjson因其高性能而廣受歡迎的同時,也因多次爆出的安全漏洞而備受關注…

x的平方根

給你一個非負整數 x ,計算并返回 x 的 算術平方根 。由于返回類型是整數,結果只保留 整數部分 ,小數部分將被 舍去 。注意:不允許使用示例 1:輸入:x 4 輸出:2示例 2:輸入&#xff1…

oracle服務器定時備份Windows Server

-- 創建目錄對象(若未創建),先建立對應文件夾才能用目錄對象CREATE OR REPLACE DIRECTORY dp_dirbackup AS D:\BACKUP; --配置路徑 GRANT READ, WRITE ON DIRECTORY dp_dirbackup TO 用戶名; --配置用戶權限-- 備份腳本(保存為每…

HTML data-* 屬性 自定義屬性

data-* 屬性用于存儲私有頁面后應用的自定義數據。 data-* 屬性可以在所有的 HTML 元素中嵌入數據。 自定義的數據可以讓頁面擁有更好的交互體驗(不需要使用 Ajax 或去服務端查詢數據)。 data-* 屬性由以下兩部分組成:1. 屬性名不要包含大寫字…

Oracle 大頁配置use_large_pages 參數解析

一、前因 再給一位客戶的Exdata 2 節點 RAC 19C版本創建數據庫并配置好優化參數后,客戶一天發來一份健康檢查報告,打開一看 use_large_pages 配置異常。 回想安裝部署時特意確認了在db啟動大頁已經生效,為何會有此異常告警項? 二…

迅為八核高算力RK3576開發板攝像頭實時推理測試 ppyoloe目標檢測

RK3576處理器迅為iTOP-3576開發板采用瑞芯微RK3576高性能、低功耗的應用處理芯片,集成了4個Cortex-A72和4個Cortex-A53核心,以及獨立的NEON協處理器。它適用于ARM PC、邊緣計算、個人移動互聯網設備及其他多媒體產品。NPU高達6TOPS算力支持INT4/INT8/INT…

純CSS輪播

純CSS輪播 在現代網頁設計中,輪播組件是一種常見的用戶界面元素,廣泛應用于展示圖片、產品信息等內容。本文將詳細介紹如何使用純 HTML/CSS 和少量 JavaScript 實現一個功能完備的 CSS Scroll Snap 輪播組件。該組件不僅支持原生左右拖拽滾動&#xff0c…

從零開始的云計算生活——番外3,LVS+KeepAlived+Nginx高可用實現方案

目錄 前言 一、環境搭建 1.環境準備 2.安裝ipvsadm和keepalived(Lvs服務器),nginx服務器安裝nginx 3.為兩臺RS配置虛擬ip(nginx服務器) 1.配置虛擬網絡子接口 2.ARP響應級別與通告行為的概念 3.配置ARP 二、Ke…

100201組件拆分_編輯器-react-仿低代碼平臺項目

文章目錄1 設計UI,組件拆分2 實現關于1 設計UI,組件拆分 編輯器整體如上圖所示,重點關注: flex彈性布局 上 左中右 下 左中右 畫布居中畫布Y軸滾動 2 實現 src/pages/question/Edit/index.tsx代碼如下: import { …

CS課程項目設計2:交互友好的五子棋游戲

上次給大家分享了井字棋游戲的設計流程 CS課程項目設計1:交互友好的井字棋游戲-CSDN博客https://blog.csdn.net/weixin_36431280/article/details/149309500?spm1001.2014.3001.5501今天打算再分享進階版井字棋游戲的版本設計——五子棋游戲。五子棋游戲操作方式與…

如何用山海鯨輕松構建3D智慧大屏?

一、什么是3D可視化大屏? 3D可視化大屏是一種結合了三維(3D)圖形技術與數據可視化技術的信息展示平臺,它通過在大型屏幕上以三維立體的形式呈現復雜的數據和信息,為用戶提供直觀、生動的視覺體驗。這種技術將抽象的數…

牛客網 SQL 刷題(全部題目,最優解,復雜題有講解)

刷題網址:https://www.nowcoder.com/exam/oj?questionJobId10&subTabNameonline_coding_page有時主頁顯示的題目序號與點進去之后的題目序號有所不同,這里以點進去之后的題目序號為主,如果日后還是有所出入,可以憑題目名稱找…

Linux 系統管理基礎教程

一、引言在 Linux 系統中,系統管理是一項至關重要的任務,它涉及到進程和服務的管理、系統運行級別的控制以及關機重啟等操作。本文將詳細介紹 Linux 系統管理的基礎知識,幫助讀者更好地理解和掌握 Linux 系統的管理技巧。二、Linux 中的進程和…