反射練習

1.反射

一種計算機處理方式。是程序可以訪問、檢測和修改它本身狀態或行為的一種能力。

新建一個Person類:

public?class?Person {
private int age;
private String name;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Person(){}private Job job;
public Job getJob() {
return job;
}
public void setJob(Job job) {
this.job = job;
}
}

2.再建一個測試類:

public class TestUI {public static void main(String[] args) {Class classzz = Person.class;Field[] fields = classzz.getDeclaredFields();for(Field f:fields){Class c = f.getType();if(c.getPackage()!=null){if(c.getPackage().getName().equals("com.Test")){//篩選出Job類System.out.println(c.getPackage().getName());System.out.println("字段的類型:"+c.getName());System.out.println("該字段的名字:"+f.getName());}}}String userInfoSQL = BeanUtil.getSelect(new UserInfo());System.out.println(userInfoSQL);}
}

?3.新建一個Job類:

public class Job {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}
}

4.BeanUtil類的內容

public class BeanUtil {public static String getSelect(Object obj){Class classzz = obj.getClass();String TableName = classzz.getSimpleName();StringBuffer sql = new StringBuffer();sql.append("Select * from "+TableName+" ");return sql.toString();}
}

?

5.顯示結果:

com.Test
字段的類型:com.Test.Job
該字段的名字:job
Select * from UserInfo//提取出BeanUtil里的sql語句

轉載于:https://www.cnblogs.com/lvtian/p/5579518.html

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

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

相關文章

開源 物聯網接入_我們剛剛推出了開源產品。 那么接下來會發生什么呢?

開源 物聯網接入by Victor F. Santos由Victor F.Santos 我們剛剛推出了開源產品。 那么接下來會發生什么呢? (We just launched an open source product. So what happens next?) Last month me and the ninja god Pedro launched GitShowcase, a plug-and-play p…

Class? getClass()

getClass()方法屬于Object的一部分,它將產生對象的類,并且在打印該類時,可以看到該類類型的編碼字符串,前導"["表示這是一個后滿緊隨的類型的數組,而緊隨的"I"表示基本類型int, //: initialization/OptionalTrailingArgrments.java package object;import …

log4j使用說明

1.log4j代碼中修改輸出級別:如: protected final Logger logger LoggerFactory.getLogger(Test.class); 將其轉成實現類,修改輸出級別即可System.out.println(logger.isDebugEnabled()?"debug is true":"debug is false&quo…

java list集合增刪改_Java中集合類list的增刪改查

今天給大家帶來的是Java中list類的使用,java.util 包提供了list類來對線性數據操作List接口是Collection接口的子接口,List有一個重要的實現類--ArrayList類,List中的元素是有序排列的而且可重復,所以被稱為是序列List可以精確的控…

IIS6、IIS7和IIS8各版本的差別

一、寫在前面 目前市面上所用的IIS版本估計都是>6.0的.所以我們主要以下面三個版本進行講解 服務器版本IIS默認版本server20036.0server20087.0server20128.0二、IIS6的請求過程 由圖可知,所有的請求會被服務器中的http.sys組件監聽到,它會根據IIS中的 Metabase 查看基于該 …

Android Studio 插件的使用

1、GsonFormat https://github.com/zzz40500/GsonFormat 2、Android SelectorChapek http://blog.csdn.net/weifei554287925/article/details/41727541

函數式編程基礎_在收件箱中免費學習函數式編程的基礎

函數式編程基礎by Preethi Kasireddy通過Preethi Kasireddy 在收件箱中免費學習函數式編程的基礎 (Learn the fundamentals of functional programming — for free, in your inbox) If you’re a software developer, you’ve probably noticed a growing trend: software ap…

安卓Java虛擬機大小_虛擬機為安卓流暢度背鍋,是因為關系數十萬程序員飯碗?...

導讀:虛擬機相當于應用程序在不同運行環境中的翻譯。說起谷歌安卓系統的“虛擬機”,很多人愛拿它和蘋果iOS做比較,結果,安卓的很多短腿兒都讓虛擬機背了鍋,比如安卓手機運存容量是iPhone的兩到三倍,流暢度卻…

Redis PHP連接操作

安裝 要在PHP程序中使用Redis,首先需要確保 Redis 的PHP驅動程序和 PHP 安裝設置在機器上。可以查看 PHP教程 教你如何在機器上安裝PHP。現在,讓我們來看看一下如何設置 Redis 的PHP驅動程序。 需要從 github 上資料庫: https://github.com/n…

AppCompatActivity實現全屏的問題

前言:我的 Activity 是繼承 BaseActivity , 而 BaseActivity 繼承 AppCompatActivity 。 BaseActivity 的繼承 /*** 應用程序的基類**/ public class BaseActivity extends AppCompatActivity {}HomeActivity 的繼承 public class HomeActivity extends BaseActivit…

aws cognito_使用AWS Cognito的用戶管理—(1/3)初始設置

aws cognitoby Kangze Huang黃康澤 使用AWS Cognito的用戶管理—(1/3)初始設置 (User Management with AWS Cognito — (1/3) Initial Setup) 完整的AWS Web樣板-教程1A (The Complete AWS Web Boilerplate — Tutorial 1A) Main Table of Contents Click Here主要目錄請點擊這…

java建一個conversion_Scala中的JavaConverters和JavaConversions之間有什么區別?

JavaConversions 提供了一系列隱式方法,可以在Java集合和最接近的相應Scala集合之間進行轉換,反之亦然 . 這是通過創建實現Scala接口的包裝器并將調用轉發到底層Java集合或Java接口,將調用轉發到底層Scala集合來完成的 .JavaConverters 使用p…

flexbox:1.0.0_了解Flexbox:您需要了解的一切

flexbox:1.0.0This article will cover all the fundamental concepts you need to get good with the CSS Flexbox model. It’s a long one, so I hope you’re ready for it.本文將介紹您熟悉CSS Flexbox模型所需的所有基本概念。 這是一個很長的時間,所以希望您…

10.Object類

在JAVA中,所有的類都直接或間接繼承了Java.lang.Object類Object是一個特殊的類,他是所有類的父類,是Java類層中的最高層類。當創建一個類時,他總是在繼承,除非某個類已經指定要從其他類繼承,否則他就是從ja…

RecyclerView的下拉刷新和加載更多 動畫

下拉刷新和加載更多 1、https://github.com/jianghejie/XRecyclerView 2、http://blog.csdn.net/jabony/article/details/44780187 動畫 1、https://github.com/wasabeef/recyclerview-animators

java中顯示動態信息的方法_java里的動態表單技術

最近的一個項目,由于客戶的需求等信息不確定,為了降低以后修改的成本及產品的推廣考慮到動態表單技術,之前也一直在考慮到動態表單技術,畢竟在delphi里已經實現過了,由于我們采用的hibernate的執久層的原故&#xff0c…

Cinder 組件詳解 - 每天5分鐘玩轉 OpenStack(47)

本節我們將詳細講解 Cinder 的各個子服務。 cinder-api cinder-api 是整個 Cinder 組件的門戶,所有 cinder 的請求都首先由 nova-api 處理。cinder-api 向外界暴露若干 HTTP REST API 接口。在 keystone 中我們可以查詢 cinder-api 的 endponits。 客戶端可以將請…

中國移動 全球通、 動感地帶、神州行 的區別

1、全球通 1、主要面向商務人士可以享受機場VIP俱樂部的尊貴、1860專席的高質量服務、個性化賬單、客戶積分獎勵以及大客戶經理貼心服務,更有尊貴資費套餐優惠,但它價格也是最貴的。 2、全球通面對事業成功的人士,進取。 3、全球通&#xff…

java 并發測試main方法_java并發編程test之synchronized測試

synchronized關鍵字可以用于聲明方法,也可以用于聲明代碼塊;package com.test.java;public class SyncTest {public static void main(String[] args) {SynchronizedDemo1 synct1 new SynchronizedDemo1();SynchronizedDemo2 synct new SynchronizedDemo2();SynchronizedDemo…

業余愛好者linux_如何從業余愛好者變成專業開發人員

業余愛好者linuxby Ken Rogers肯羅杰斯(Ken Rogers) 如何從業余愛好者變成專業開發人員 (How to Go From Hobbyist to Professional Developer) A few years ago, I was bouncing back and forth between landscaping jobs and restaurant jobs. I had just left college, and…