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

汝阳网站建设哪家好旅游社网站建设规划书

汝阳网站建设哪家好,旅游社网站建设规划书,网络推广和网站推广的关系,在一起做网店的网站的怎么购买1.反射的概述 1.被视为动态语言的关键,反射机制允许程序在运行期间,借助于反射相关的api取得任何 类内部信息,直接操作任何的属性和方法 2.不使用反射需要考虑封装性,出了类之后不能调用私有属性 使用之后打破封装性 场景&#xf…

1.反射的概述


    1.被视为动态语言的关键,反射机制允许程序在运行期间,借助于反射相关的api取得任何

        类内部信息,直接操作任何的属性和方法


     2.不使用反射需要考虑封装性,出了类之后不能调用私有属性 使用之后打破封装性


    场景:


        1.从程序员开发者的角度讲,开发中主要完成业务代码,对对象方法的味道都是确定的,

        使用很多
        2.主要体现了动态性,运行时动态获取对象所属的类,动态的调用方法,

        所以在设计框架的时候会大量使用反射


        3.单例模式饿汉和懒汉中私有化构造器,单例模式也可以调用(暴力反射)

       注意:


       1. 他和封装性并不冲突没有冲突和bug封装性体现的是,是否建议调用内部api的问题,

        private意味着不建议调用


       2/ 反射体现的是我们能否调用的问题,因为我们类的完整结构都加载到了内存中,

        所以我们有能力调用

代码:

先写一个有public修饰和private修饰的people类

public class People {public String name;private int age;@Overridepublic String toString() {return "People{" +"name='" + name + '\'' +", age=" + age +'}';}public People() {}private People(int age) {System.out.println("People constructor");}public void show(){System.out.println("Name: " + name);}private void sayHello(){System.out.println("Hello, " + name);}
}

下面是用反射实现的获取方法属性和构造方法

public void test()throws Exception{
//使用反射Class clazz = People.class;People person = (People) clazz.newInstance();System.out.println(person);//调用属性Field name = clazz.getField("name");name.set(person,"hh");System.out.println(name.get(person));//调用方法Method showMethod = clazz.getMethod("show");showMethod.invoke(person);
}
@Testpublic void test2()throws Exception{Class clazz = People.class;Constructor declaredConstructor = clazz.getDeclaredConstructor(int.class);declaredConstructor.setAccessible(true);People person = (People) declaredConstructor.newInstance(13);//2调用私有属性Field declaredField = clazz.getDeclaredField("age");declaredField.setAccessible(true);declaredField.set(person,11);//3.调用私有方法Method declaredMethod = clazz.getDeclaredMethod("sayHello");declaredMethod.setAccessible(true);declaredMethod.invoke(person);
}}

http://www.dtcms.com/a/477626.html

相关文章:

  • Qt MSVC_64bit在Release模式下调试与WinDbg调试exe
  • Flutter鸿蒙开发
  • 《Qt应用开发》笔记p2
  • 保定网站建设与seo贵州快速整站优化
  • SOLIDWORKS转换为3DXML全流程技术指南:附迪威模型网在线方案
  • 【Java Xml】Apache Commons Digester3解析
  • 一文读懂微软 MOS 国际认证
  • 微软Defender for Endpoint漏洞3个月未修复,攻击者可绕过认证并上传恶意文件
  • 柱状图的高级玩法:分组、堆叠、百分比对比
  • 湖南金科建设有限公司网站那些网站是做俄罗斯鞋子
  • 详解Jenkins 的 Declarative Pipeline中post 语法
  • 淘宝客怎么在网站做推广上海新闻坊
  • 无人机中继器模式技术对比
  • HTTP与HTTPS:从明文到加密的Web安全革命
  • LINUX1013 shell:sed ./sed.sh 1.txt sed -f sed.sh 1.txt awk
  • 无人机技术解析:遥传、数传与图传的核心作用
  • 反无人机和反无人机系统(C-UAS)技术
  • 基于ARM+FPGA的无人机数据采集卡,6通道24bit采集
  • 扬州哪里做网站玉树营销网站建设公司
  • 【Linux指南】Linux命令行进度条实现原理解析
  • 如何基于ElasticsearchRetriever构建RAG系统
  • 网站建设内容与实现功能免费信息发布网有哪些
  • 【Java】nacos的作用(事例)以及其如何发挥功能的?
  • 杨辉三角的变形
  • 试从源码角度分析Handler的post和sendMessage方法的区别和应用场景?
  • 网站流量如何突破厦门建设局局长李德才
  • 外包网站设计网站建设的主要技术路线
  • iOS 26 电耗监测与优化,耗电问题实战 + 多工具 辅助策略
  • 企业前端网站模板下载 HTML前端模板网站
  • 【RabbitMQ】 RabbitMQ Overview