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

网页制作网站的大作业网站开发怎么设置打印按钮

网页制作网站的大作业,网站开发怎么设置打印按钮,国产做爰全免费的视频网站,图片在线设计网站一、概述 我们都听说过java有个反射机制#xff0c;通过反射机制我们可以更深入的控制程序的运行过程。例如#xff0c;在程序进入到运行期间#xff0c;由用户输入一个类名#xff0c;然后我们可以动态获取到该类拥有的所有类结构、属性名和方法#xff0c;甚至还可以任意… 一、概述 我们都听说过java有个反射机制通过反射机制我们可以更深入的控制程序的运行过程。例如在程序进入到运行期间由用户输入一个类名然后我们可以动态获取到该类拥有的所有类结构、属性名和方法甚至还可以任意调用类的任意方法。听起来是不是很牛我也觉得比较牛挺有意思的所以对于不太熟悉的小伙伴而言那就来听我一一道来。 所以此期我们就来重点学习一下java的反射机制。 二、本期教学目标 了解什么是反射了解反射的优缺点熟悉通过反射获取java对象的方法java常用的反射机制apijava通过反射执行方法反射实例演示 三、正文 本文首先介绍一下java中class类与java反射的基础用法然后再结合应用具体介绍反射。 1️⃣概念 什么是反射在介绍反射之前我们先来了解两个概念编译器和运行期。 编译器编译器是把源代码交给编译器编译成计算机可执行的字节码文件的过程。运行期运行期是把编译好的字节码文件交给计算机(在内存)去执行的过程直到运行结束。 而java反射就是在程序处于运行状态中对于任意一个类都能够动态的获取到这个类的所有属性、方法对于任意一个对象都能调用它的任意方法和内部属性。这种动态获取信息以及动态调用对象方法属性的功能就被成为java的反射机制。总而言之java反射指的是程序在运行时能获取自身的所有信息,比如类名、类路径、包路径、构造方法、私有属性等等。 所以对于java程序只要你给定一个类名你就可以通过java反射获取到该类的所有信息。 2️⃣功能 对于java反射机制而言它主要提供了以下功能且这些功能都位于java.lang.reflect包中。 如下是对于程序中该reflect截图。 如下我就给大家诺列以下 获取任意一个对象所属的类(运行期)构造任意一个类的对象(运行期)判断任意一个类所具有的成员变量和方法(运行期)调用任意一个对象的方法(运行期)生成动态代理。 而想要知道一个类的属性和方法你必须先获取到该类的字节码文件对象。获取类信息时使用的就是class类的方法。所以你先要获取到每一个字节码文件对应的class类型对象。比如 Class aClass dog1.getClass(); 3️⃣常用Api 利用class类的对象aClass可以获取到的该类的所有信息比如类信息、Object信息。如下是列举出来的是通过反射可获取到的常用信息具体如下 getPackage():获取该类的存放路径。getName():获取该类的名称。getSuperclass():获取该类继承的类getlnterfaces():获取该类实现的所有接口getMethods():获取所有权限为 public 的方法getDeclaredMethods():获取当前对象的所有方法getClasses()获取所有权限为 public 的内部类getFields()获取所有权限为 public 的成员变量 4️⃣优缺点 对于反射虽然利大于弊但是不排除任意一个东西开发出来都没有任何缺点。比如对于java的反射机制。 优点能够程序运行时动态获取类的实例大大提高了系统的灵活性和扩展性。且对于java先编译后运行的机制而言更加方便灵活创建代码这些代码可以在运行时装配无需在组件之间进行源代码的链接更加的贴切面向对象。缺点反射会消耗一定的系统资源。因此如果不需要动态的创建一个对象那就不需要使用反射。而且通过反射手法在调用对象方法时可以忽略权限检查就能获取到该类的私有属性私有方法可能会导致破坏类的封装性而导致安全问题。 5️⃣实例演示 如下我就通过列举一个类通过实例化后来通过反射机制来动态获取该对象的一些信息。 具体演示代码如下 Data public class Dog extends Animal {//子类private String active;Overridepublic void eat() {System.out.println(我是狗狗吃骨头);}//独有功能public void lockHome() {System.out.println(我是狗狗我会看家);} } 然后我再来定义一个main函数进行测试获取一下该对象名称 public static void main(String[] args) {Animal dog new Dog();//向上转型Class dogClass dog.getClass();System.out.println(该类的名称为dogClass.getName());} 运行截图如下  获取该dog对象包名 public static void main(String[] args) {Animal dog new Dog();//向上转型Class dogClass dog.getClass();System.out.println(该类的包名为dogClass.getPackage());} 运行截图如下  获取该dog对象的所有方法。 public static void main(String[] args) {Animal dog new Dog();//向上转型Class dogClass dog.getClass();Method[] methods dogClass.getDeclaredMethods();System.out.println(该类的所有方法为methods);} 运行截图如下   获取所有权限为 public 的内部类。 public static void main(String[] args) {Animal dog new Dog();//向上转型Class dogClass dog.getClass();Class[] classes dogClass.getClasses();System.out.println(获取所有权限为public 的内部类 classes);} 运行截图如下
http://www.pierceye.com/news/661974/

相关文章:

  • 金乡网站建设哪家便宜建网站解决方案
  • 大港油田建设官方网站怎么帮人做网站
  • nginx建设网站教程wordpress文章列表格子
  • 山东网站开发学校深圳福田网站建设公司
  • 做电商网站的框架结构图江西省住房和城乡建设厅
  • 运输网站建设网站上的销售怎么做的
  • ps做网站首页效果图潮安区住房和城乡建设局网站
  • 商业网站怎么做做图赚钱的网站
  • 如何建立微信网站工作室暴利项目
  • 购物网站建设模板下载家在深圳 歌曲
  • wordpress 网站搬迁网站改版提交给百度
  • 黄山网站建设免费咨询网页制作初学者
  • 小说网站模板温州建设集团有限公司网站
  • 医疗器械为什么做网站杭州网站制作培训
  • 村志网站建设品牌设计logo图片
  • 网站更新服务公司网页打不开显示404要怎么处理
  • 注册公司是在哪个网站网站建设案例步骤
  • 机械设备网站源码中国神鹰网站建设
  • access 网站源码安阳市地图
  • 临沂房产和房建设局网站双和关键词排名怎么查
  • 建网站多少费用301不同类型网站
  • 深圳seo网站排名优化贵州省都匀市网站建设
  • 个人网站风格设计做网站时需要注意什么问题
  • 时装网站建设的背景软装设计费用
  • 排名轻松seo 网站国内开源平台
  • 常德做网站公司哪家好雷达图 做图网站
  • 做网站的环境配置wordpress手机版本
  • 市场网站建设济南智能网站建设
  • 淄博网站的优化大数据开发过程
  • 德阳网站建设公司做抢单软件的网站