当前位置: 首页 > news >正文

定义一个Person类,包含私有属性name、age,getXxx和setXxx方法和有参满参构造方法。

  1. 定义一个Person类,包含私有属性name、age,getXxx和setXxx方法和有参满参构造方法。
  2. 使用反射的方式创建一个实例、调用构造函数初始化name、age。使用反射方式调用setName方法对姓名进行设置,不使用setAge方法直接使用反射方式对age赋值。
public class Person {
    private int age;
    private String name;


    public Person() {
    }

    public Person(int age, String name) {
        this.age = age;
        this.name = 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;
    }

    @Override
    public String toString() {
        return "Person{" +
                "age=" + age +
                ", name='" + name + '\'' +
                '}';
    }
}

public class Test {

    public static void main(String[] args) throws Exception, SecurityException {
        Class clas = Person.class;
        Constructor constructor = clas.getConstructor(int.class, String.class);
        Person person = (Person) constructor.newInstance(38, "马蓉");
        System.out.println(person);
        Method setName = clas.getMethod("setName", String.class);
        setName.invoke(person, "王宝强");
        Field age = clas.getDeclaredField("age");
        age.setAccessible(true);
        age.set(person, 35);
        System.out.println(person);

    }
}



相关文章:

  • 按要求完成下面两个方法的方法体
  • 对Collection接口的子类ArrayList进行代理,以前的remove(Object obj)方法是删除集合中第一次出现的元素(比如集合中有多个“abc”,调用remove(“abc”)后只会
  • liunx7系统centos6.8版本编译安装php7
  • 如果ngxin不能使用service nginx start 开启
  • linux7下centos6.8开启某个端口
  • liunx7下centos6.8编译安装nginx1.12.1
  • liunx7下centos6.8编译安装mysql-5.7.18
  • 关于linux下查看磁盘,内容,CPU使用情况的命令
  • Linux系统IO分析工具之iotop参数详解(查看IO占用)
  • 正则表达式之完全体验
  • 安装libpng提示--configure: error: ZLib not installed
  • WINDOWS之端口和进程查看命令
  • 3种方法轻松处理php开发中emoji表情的问题
  • linux下升级openssl到新版本
  • linux7下centos6.8版本完全编译php7.17与nginx
  • ECMAScript6(0):ES6简明参考手册
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • Java基本数据类型之Number
  • Java精华积累:初学者都应该搞懂的问题
  • k个最大的数及变种小结
  • Mocha测试初探
  • nodejs:开发并发布一个nodejs包
  • php面试题 汇集2
  • ViewService——一种保证客户端与服务端同步的方法
  • 动态魔术使用DBMS_SQL
  • 关于List、List?、ListObject的区别
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 漂亮刷新控件-iOS
  • 前端技术周刊 2019-02-11 Serverless
  • 前端性能优化--懒加载和预加载
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 使用 @font-face
  • 说说动画卡顿的解决方案
  • 学习使用ExpressJS 4.0中的新Router
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • ​一些不规范的GTID使用场景
  • #1015 : KMP算法
  • #Linux(make工具和makefile文件以及makefile语法)
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • $.each()与$(selector).each()
  • (145)光线追踪距离场柔和阴影
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (算法)求1到1亿间的质数或素数
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)负载均衡,回话保持,cookie
  • (转)四层和七层负载均衡的区别
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .Net core 6.0 升8.0
  • .net MVC中使用angularJs刷新页面数据列表
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET中的十进制浮点类型,徐汇区网站设计