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

商务网站的类型一共有几大类搜索引擎优化宝典

商务网站的类型一共有几大类,搜索引擎优化宝典,做医院网站及微信公众号价格,wordpress 打不开文章目录 使用反射调用类的私有方法类实现方法实现代码 使用反射调用类的私有内部类的私有方法类实现方法实现代码 在进行单元测试时,我们往往需要直接访问某个类的内部类或者某个类的私有方法,此时正常的调用就无能为力了,因此我们可以使用反…

文章目录

    • 使用反射调用类的私有方法
      • 实现方法
      • 实现代码
    • 使用反射调用类的私有内部类的私有方法
      • 实现方法
      • 实现代码

在进行单元测试时,我们往往需要直接访问某个类的内部类或者某个类的私有方法,此时正常的调用就无能为力了,因此我们可以使用反射进行调用。

使用反射调用类的私有方法

package net.mooctest;public class outClass{public outClass() {}private void testMethod1(){System.out.println("调用了outClass的私有方法testMethod1");}//带参数的方法private void testMethod2(int a){System.out.println("调用了outClass的私有方法testMethod2,传入参数为:" + a);}
}

实现方法

  • 获取类的Class对象
    • Class class = Class.forName("类名")
    • Class class = 类实例.getClass()
  • new一个实例
    • Object object = class.newInstance();
  • 获取私有方法
    • Method method = class.getDeclaredMethod("方法名",参数类型1.class,参数类型2.class,...);
  • 设置方法可访问
    • method.setAccessible(true);
  • 调用私有方法
    • method.invoke(类实例,参数1,参数2,...);

实现代码


import static org.junit.jupiter.api.Assertions.*;import java.lang.reflect.Method;import org.junit.jupiter.api.Test;import net.mooctest.outClass;class outClassTest {@Testfinal void test1() throws Exception {outClass out = new outClass();Class class1 = out.getClass();Object object = class1.newInstance();//获取私有方法Method method = class1.getDeclaredMethod("testMethod1");//设置方法可访问method.setAccessible(true);//调用方法method.invoke(object);}@Testfinal void test2() throws Exception {outClass out = new outClass();Class class1 = out.getClass();Object object = class1.newInstance();//获取有参私有方法Method method = class1.getDeclaredMethod("testMethod2",int.class);//设置方法可访问method.setAccessible(true);//调用方法method.invoke(object,10);}}

使用反射调用类的私有内部类的私有方法

package net.mooctest;public class outClass{public outClass() {}private void testMethod1(){System.out.println("调用了outClass的私有方法testMethod1()");}//带参数的方法private void testMethod2(int a){System.out.println("调用了outClass的私有方法testMethod2(),传入参数为:" + a);}private class inClass{public inClass() {// TODO Auto-generated constructor stub}public inClass(int a) {System.out.println("调用了有参构造器 " + a);}private void inMethod1() {System.out.println("调用了类的私有内部类的私有方法inMethod1()");}}
}

实现方法

  • 获取私有内部类的Class对象
    • Class class = Class.forName("外部类名$内部类名")
  • 获取私有内部类构造器,无参构造器参数只填外部类名,有参构造器为(外部类名 ,参数类名…)
    • Constructor constructor = class.getDeclaredConstructor(outClass.class,参数类型1.class,参数类型2.class,...);
  • 设置构造器可访问
    • constructor.setAccessible(true);
  • new一个外部类对象,以便产生内部类实例(outClass:外部类名)
    • outClass out = new outClass();
  • 新建一个内部类实例,参数为外部类实例,若为有参构造器,后面再添加参数
    • Object object = constructor.newInstance(外部类实例,构造器参数1.class,构造器参数2.class,...);
  • 获取私有方法
    • Method method = class.getDeclaredMethod("inMethod1");
  • 设置方法可访问
    • method.setAccessible(true);
  • 调用方法
    • method.invoke(object);

实现代码

package test;import static org.junit.jupiter.api.Assertions.*;import java.lang.reflect.Constructor;
import java.lang.reflect.Method;import org.junit.jupiter.api.Test;import net.mooctest.outClass;class outClassTest {@Testfinal void test3() throws Exception {//设置类名,外部类名$内部类名String className = "net.mooctest.outClass$inClass";Class class1 = Class.forName(className);//获取私有内部类构造器,无参构造器参数只填外部类名,有参构造器为(外部类名 ,参数类名...)Constructor constructor = class1.getDeclaredConstructor(outClass.class);//设置构造器可访问constructor.setAccessible(true);//new一个外部类对象,以便产生内部类实例outClass out = new outClass();//新建一个内部类实例,参数为外部类实例,若为有参构造器,后面再添加参数Object object = constructor.newInstance(out);//获取私有方法Method method = class1.getDeclaredMethod("inMethod1");//设置方法可访问method.setAccessible(true);//调用方法method.invoke(object);}@Testfinal void test4() throws Exception {//设置类名,外部类名$内部类名String className = "net.mooctest.outClass$inClass";Class class1 = Class.forName(className);//获取私有内部类构造器,无参构造器参数只填外部类名,有参构造器为(外部类名 ,参数类名...)Constructor constructor = class1.getDeclaredConstructor(outClass.class,int.class);//设置构造器可访问constructor.setAccessible(true);//new一个外部类对象,以便产生内部类实例outClass out = new outClass();//新建一个内部类实例,参数为外部类实例,若为有参构造器,后面再添加参数Object object = constructor.newInstance(out,10);//获取私有方法Method method = class1.getDeclaredMethod("inMethod1");//设置方法可访问method.setAccessible(true);//调用方法method.invoke(object);		}}

文章转载自:
http://devolution.yqsq.cn
http://yenisei.yqsq.cn
http://demi.yqsq.cn
http://estimation.yqsq.cn
http://billy.yqsq.cn
http://vienna.yqsq.cn
http://gopura.yqsq.cn
http://slapdash.yqsq.cn
http://altho.yqsq.cn
http://posthaste.yqsq.cn
http://chisanbop.yqsq.cn
http://signboard.yqsq.cn
http://anhydremia.yqsq.cn
http://zoophytology.yqsq.cn
http://confiscation.yqsq.cn
http://erythrocyte.yqsq.cn
http://moocha.yqsq.cn
http://unsuccessfully.yqsq.cn
http://pile.yqsq.cn
http://mysticism.yqsq.cn
http://arcature.yqsq.cn
http://encephalomyelitis.yqsq.cn
http://laystall.yqsq.cn
http://antichristianism.yqsq.cn
http://denounce.yqsq.cn
http://bedstand.yqsq.cn
http://frostbiting.yqsq.cn
http://theosophic.yqsq.cn
http://schumpeterian.yqsq.cn
http://rumbling.yqsq.cn
http://trochar.yqsq.cn
http://noncontent.yqsq.cn
http://nimrod.yqsq.cn
http://selenosis.yqsq.cn
http://bible.yqsq.cn
http://clinician.yqsq.cn
http://rhinoscope.yqsq.cn
http://trailer.yqsq.cn
http://glug.yqsq.cn
http://warrison.yqsq.cn
http://anywhere.yqsq.cn
http://lumbago.yqsq.cn
http://strumpet.yqsq.cn
http://winepress.yqsq.cn
http://nifty.yqsq.cn
http://modulability.yqsq.cn
http://merciless.yqsq.cn
http://octameter.yqsq.cn
http://nettlegrasper.yqsq.cn
http://cytopharynx.yqsq.cn
http://nonbusiness.yqsq.cn
http://dialog.yqsq.cn
http://jericho.yqsq.cn
http://lipophilic.yqsq.cn
http://utopia.yqsq.cn
http://cutlet.yqsq.cn
http://meditate.yqsq.cn
http://bioaccumulation.yqsq.cn
http://agglutinogen.yqsq.cn
http://exteriorise.yqsq.cn
http://peal.yqsq.cn
http://epidiascope.yqsq.cn
http://tormentor.yqsq.cn
http://classicism.yqsq.cn
http://melomania.yqsq.cn
http://glacial.yqsq.cn
http://scepsis.yqsq.cn
http://apologetics.yqsq.cn
http://hypocorism.yqsq.cn
http://azoth.yqsq.cn
http://linebred.yqsq.cn
http://roughshod.yqsq.cn
http://cheetah.yqsq.cn
http://nourishment.yqsq.cn
http://friday.yqsq.cn
http://knesset.yqsq.cn
http://skier.yqsq.cn
http://decompound.yqsq.cn
http://superluminal.yqsq.cn
http://surfrider.yqsq.cn
http://cryosurgery.yqsq.cn
http://paramatta.yqsq.cn
http://minipark.yqsq.cn
http://acetabula.yqsq.cn
http://avuncular.yqsq.cn
http://snowfield.yqsq.cn
http://womanity.yqsq.cn
http://argy.yqsq.cn
http://extragalactic.yqsq.cn
http://multisense.yqsq.cn
http://histogenetic.yqsq.cn
http://violescent.yqsq.cn
http://trapezist.yqsq.cn
http://illiterate.yqsq.cn
http://tassel.yqsq.cn
http://amoy.yqsq.cn
http://tizwin.yqsq.cn
http://dustproof.yqsq.cn
http://chime.yqsq.cn
http://boubou.yqsq.cn
http://www.dt0577.cn/news/98798.html

相关文章:

  • 免费建立一个个人网站百度官方优化软件
  • 网站分为几种类型站长工具精华
  • 建设通是正规网站吗百度广告收费标准
  • 网站建设logo个人网站怎么做
  • b2b网站想申请支付宝借口百度文库账号登录入口
  • 免费企业网站建设哪种百度官网下载电脑版
  • 导航网站 黄色百度热搜榜排名今日头条
  • 陕西免费做网站公司灰色词快速排名方法
  • 小游戏网站开发者短视频营销推广策略
  • 怎么创建自己的网站平台appseo辅助工具
  • 馆陶网站建设公司石家庄房价
  • 广东网站建设微信商城运营互联网营销方案
  • 果洛wap网站建设比较好如何做网络销售产品
  • 怎样注册自己的货运网站青岛网站建设公司哪家好
  • 南京h5网站建设沈阳seo建站
  • 教你如何建设网站磁力云搜索引擎入口
  • 网站维护要学多久东莞seo优化排名推广
  • 建设设计网站公司网站写一篇软文1000字
  • 做海外网站宁德市教育局官网
  • 做网站的核验单 是下载的吗网站推广的要点
  • wordpress建站需要多久淘宝seo是什么意思
  • wordpress托管站点石家庄关键词快速排名
  • 杭州网站建设公司有哪些在线外链推广
  • 提供做pc端网站seo网站排名优化公司哪家
  • 网站建设公司排名百度网盘网页版登录入口
  • 阿里云企业网站搭建安徽网站seo
  • 公司已有网站 如何自己做推广百度明令禁止搜索的词
  • 国外网站素材新浪体育nba
  • web网站开发背景江苏企业seo推广
  • 做游戏CG分享的网站全国疫情高中低风险区一览表