Constructor[] getConstructors()

Constructor getConstructor(类... parameterTypes)

Constructor getDeclareConstructor(类... paramterTypes)

Constructor[] getDeclaredConstructors()获取所有的成员变量不考虑修饰符

Constructor:构造方法

创建对象

T newUnstance(Object... initargs)

如果使用空参数构造方法创建对象,操作可以简化:Class对象的newInstance方法

package com.yang.reflect;

import com.yang.exercises.Person;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field; public class ReflectStudy02 { public static void main(String[] args) throws Exception {
/**
* 2.获取构造方法们
* Constructor[] getConstructors()
* Constructor getConstructor(类... parameterTypes)
*
* Constructor getDeclareConstructor(类... paramterTypes)
* Constructor[] getDeclaredConstructors()获取所有的成员变量不考虑修饰符
*/
Class<Person> personClass = Person.class;
//Constructor getConstructor(类... parameterTypes)
Constructor<Person> constructor = personClass.getConstructor(String.class, int.class);
System.out.println(constructor); //创建对象
Person p = constructor.newInstance("张三", 18);
System.out.println(p); Person person = personClass.newInstance();
System.out.println(person); }
}

Class对象功能获取Field

package com.yang.reflect;

import com.yang.exercises.Person;

import java.lang.reflect.Method;

public class ReflectStudy03 {
public static void main(String[] args) throws Exception {
/**
3.获取成员方法们
Method[] getMethod()
Method getMethod(String name,类<?>... paramterTypes)
Method[] getDeclaredMethods()
Method getDeclaredMethod(String name,类<?>... paramterTypes)
*/
//获取Person的class对象
Class<Person> personClass = Person.class;
//获取指定名称的方法
Method eat = personClass.getMethod("eat");
Person p = new Person();
//执行方法
eat.invoke(p); Method eat2 = personClass.getMethod("eat",String.class);
//执行方法
eat2.invoke(p,"饭"); //获取所有public修饰的方法
Method[] methods = personClass.getMethods();
for (Method method : methods) {
System.out.println(method);
String name = method.getName();
System.out.println(name);
} //获取类名
String className = personClass.getName();
System.out.println(className); }
}

Class对象功能概述和Class对象功能获取Field的更多相关文章

  1. Android(java)学习笔记102:Map集合功能概述

    下面通过代码引入Map集合:如下 package cn.itcast_01; import java.util.HashMap; import java.util.Map; /* * 作为学生来说,是 ...

  2. Android(java)学习笔记41:Map集合功能概述

    1. 下面通过代码引入Map集合: 如下 package cn.itcast_01; import java.util.HashMap; import java.util.Map; /* * 作为学生 ...

  3. 计算机网络之传输层(传输层提供的服务及功能概述、端口、套接字--Socket、无连接UDP和面向连接TCP服务)

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105451022 学习课程:<2019王道考研计算机网络> 学习目的 ...

  4. 模拟Select-Options对象实现多项数据输入功能

       模拟Select-Options对象实现多项数据输入功能 Select-Options对象可以同时输入多项值并将所输入数据存入内表以供程序使用,不过Select-Options的功能有一定的局限 ...

  5. 屏幕对象的F1/F4输入帮助功能

    1.HELP-REQUST[FOR{LOW|HIGH}]字段的F1帮助 当选择SAP屏幕功能的制定字段按F1键时可以调关注用自定义的程序或者系统帮助文件,该功能通常称为F1帮助. TYPES:syst ...

  6. Struts功能详解——ActionMapping对象

    Struts功能详解——ActionMapping对象 ActionMapping描述了struts中用户请求路径和Action的映射关系,在struts中每个ActionMapping都是通过pat ...

  7. Delphi2007新功能 -- 有限的栈对象

    今天使用Delphi2007,一个误输入,无意中发现Delphi2007的record类型居然能够和TObject一样定义方法和属性,而且不需要调用类似TObject.Create方法就能生成一个re ...

  8. C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法

    C#构造方法(函数)   一.概括 1.通常创建一个对象的方法如图: 通过  Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...

  9. 前端(十七)—— jQuery基础:jQuery的基本使用、JQ功能概括、JS对象与JQ对象转换、Ajax简单应用、轮播图

    jQuery的基本使用.JQ功能概括.JS对象与JQ对象转换.Ajax简单应用.轮播图 一.认识jQuery 1.什么是jQuery jQuery是对原生JavaScript二次封装的工具函数集合 j ...

随机推荐

  1. 一个登录点两个逻辑漏洞-edusrc

    最近呢, 也是基础漏洞学的差不多了, 就在edusrc上面实战, 刚开始搞一些信息泄漏啥的, 提交了十几个, 结果就他娘的通过了一个. 咱也就不碰信息泄漏了, 没得意思. 关于这个学校测试时也是有坑的 ...

  2. 操作系统实现-printk

    博客网址:www.shicoder.top 微信:18223081347 欢迎加群聊天 :452380935 这一次我们来实现最基础,也是最常见的函数print,大家都知道这个是可变参数函数,那具体怎 ...

  3. 一起看 I/O | Flutter 3 正式发布!

    作者 / Tim Sneath, Google Flutter 和 Dart 产品组产品经理 Flutter 3 实现了 Flutter 以移动端为中心扩展到多平台的产品规划,并在今年 I/O 大会的 ...

  4. 好客租房19-react组件基础目标

    1能够使用函数创建组件 2能够使用class创建组件 3能够给react元素绑定事件 4能够使用state和setstate 5能够处理事件中的this指向问题 6能够使用受控组件处理表单

  5. k8s的api资源

    NAME SHORTNAMES APIGROUP NAMESPACED KIND 资源用途说明 bindings     TRUE Binding 已弃用.用于记录一个object和另一个object ...

  6. Mac下最好用的SSH连接客户端 (Termius)

    Termius是微软的一款SSH终端工具,它支持多平台.而且操作界面十分ha好看且简洁,今天分享给大家️ 软件下载 关注下方公众号,回复termius获取下载地址   软件功能介绍 Termius M ...

  7. 博弈论(nim游戏,SG函数)

    说到自己,就是个笑话.思考问题从不清晰,sg函数的问题证明方法就在眼前可却要弃掉.不过自己理解的也并不透彻,做题也不太行.耳边时不时会想起alf的:"行不行!" 基本的小概念 这里 ...

  8. 「ARC 139F」Many Xor Optimization Problems【线性做法,踩标】

    「ARC 139F」Many Xor Optimization Problems 对于一个长为 \(n\) 的序列 \(a\),我们记 \(f(a)\) 表示从 \(a\) 中选取若干数,可以得到的最 ...

  9. 字符串的操作、 Math类

    字符串的操作 我们先来定义一个字符串,如果来进行过去长度,获取内容. 我们来写一个小测试! public static void main(String[] args) { String aa = & ...

  10. ACM-由数据范围反推算法复杂度以及算法内容

    一般ACM或者笔试题的时间限制是1秒或2秒. 在这种情况下,C++代码中的操作次数控制在 \(10^7\) 为最佳. 下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择: 数据范围 算法选择 ...