java如何访问private方法_java什么叫方法重写

java如何访问private方法_java什么叫方法重写当Java的类有一个方法的访问修饰符是private,我们在写测试类时该怎样对它进行测试吗?道难是先将它的修饰符改成public,然后在做完测试之后再将其改回public,其实完全不用这样做,我们在编写测试类的时候只要将其私有方法抽出,让其可以访问,就可以按要求进行测试了.开始我们先写一个被测试类,如下:package com.srcopen.test;public class Exa

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

当Java的类有一个方法的访问修饰符是private,我们在写测试类时该怎样对它进行测试吗?道难是先将它的修饰符改成public,然后在做完测试之后再将其改回public,其实完全不用这样做,我们在编写测试类的时候只要将其私有方法抽出,让其可以访问,就可以按要求进行测试了.

开始我们先写一个被测试类,如下:

java如何访问private方法_java什么叫方法重写
package
 com.srcopen.test;
java如何访问private方法_java什么叫方法重写
java如何访问private方法_java什么叫方法重写java如何访问private方法_java什么叫方法重写

public
 
class
 Example

{

java如何访问private方法_java什么叫方法重写java如何访问private方法_java什么叫方法重写 
private int add(int a,int b){

java如何访问private方法_java什么叫方法重写  
return a+b;
java如何访问private方法_java什么叫方法重写 }

java如何访问private方法_java什么叫方法重写 
java如何访问private方法_java什么叫方法重写java如何访问private方法_java什么叫方法重写 
public int doAdd(int c,int d){

java如何访问private方法_java什么叫方法重写  
return this.add(c, d);
java如何访问private方法_java什么叫方法重写 }

java如何访问private方法_java什么叫方法重写}

 

这个类非常的简单,它有一个相加的私有方法,进行a+b,然后在一个公有方法doAdd(int,int)中进行调用.下面让我们写一个简单的测试类对这个被测试类进行测试,如下:

java如何访问private方法_java什么叫方法重写
package
 com.srcopen.test;
java如何访问private方法_java什么叫方法重写

import
 junit.framework.
*
;
java如何访问private方法_java什么叫方法重写java如何访问private方法_java什么叫方法重写

public
 
class
 Example_Test 
extends
 TestCase 

{

java如何访问private方法_java什么叫方法重写java如何访问private方法_java什么叫方法重写    
public void testDoAdd() {

java如何访问private方法_java什么叫方法重写         Example example
=new Example();
java如何访问private方法_java什么叫方法重写         assertEquals(
4,example.doAdd(1,3));
java如何访问private方法_java什么叫方法重写    }

java如何访问private方法_java什么叫方法重写}

这对被测类的公有方法进行测试,应该是没问题的,然后对其私有方法进行测试,我们要想办法将其私有方法通过编程变成私有方法,主要用去Method这个类,将我们要测试的方法赋给它,其中它有一个设置,可使方法变成可进入,这样就可以达到测试的目的了,编写的完整代码如下:

java如何访问private方法_java什么叫方法重写
package
 com.srcopen.test;
java如何访问private方法_java什么叫方法重写

import
 junit.framework.
*
;
java如何访问private方法_java什么叫方法重写

import
 java.lang.reflect.Method;
java如何访问private方法_java什么叫方法重写

import
 java.lang.reflect.InvocationTargetException;
java如何访问private方法_java什么叫方法重写java如何访问private方法_java什么叫方法重写

public
 
class
 Example_Test 
extends
 TestCase 

{

java如何访问private方法_java什么叫方法重写java如何访问private方法_java什么叫方法重写    
public void testDoAdd() {

java如何访问private方法_java什么叫方法重写         Example example
=new Example();
java如何访问private方法_java什么叫方法重写         assertEquals(
4,example.doAdd(1,3));
java如何访问private方法_java什么叫方法重写    }

java如何访问private方法_java什么叫方法重写java如何访问private方法_java什么叫方法重写    
public void testAdd() {

java如何访问private方法_java什么叫方法重写        Example example
=new Example();
java如何访问private方法_java什么叫方法重写        Object o
=null
java如何访问private方法_java什么叫方法重写java如何访问private方法_java什么叫方法重写        
try{

java如何访问private方法_java什么叫方法重写java如何访问private方法_java什么叫方法重写            Method method 
= example.getClass().getDeclaredMethod(add,new Class[] {
int.classint.class}
);
java如何访问private方法_java什么叫方法重写            method.setAccessible(
true);                //让其方法可访问
java如何访问private方法_java什么叫方法重写java如何访问private方法_java什么叫方法重写
            o = method.invoke(example, new Object[] {
13}
);
java如何访问private方法_java什么叫方法重写java如何访问private方法_java什么叫方法重写        }
catch(Exception e){

java如何访问private方法_java什么叫方法重写            
java如何访问private方法_java什么叫方法重写        }

java如何访问private方法_java什么叫方法重写        assertEquals(
4,o.toString());
java如何访问private方法_java什么叫方法重写    }

java如何访问private方法_java什么叫方法重写}

注意导入Method类的时候要为import java.lang.reflect.Method;

还要就是使用method.setAccessible(true)将这个方法设为可以访问.

运行一下我们发现已经可以进行测试了.~~

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189617.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月12日 上午8:48
下一篇 2026年3月12日 上午8:52


相关推荐

  • PMP项目管理五大过程组

    PMP项目管理五大过程组01 启动过程组定义并批准项目或阶段 授权开始该项目或阶段的一组过程 启动过程一般要求启动会或者开工会议 授权 定义个项目或者项目的新阶段 正式开始改项目或者阶段 定义初步范围 落实财务资源 识别内外干系人 选定项目经理 多阶段启动 确保最初决策的合理性 保证符合预定的业务需要 审查干系人影响 决定项目是否继续 干系人参与 提高其主人翁意识 使其更容易接受成果和对项

    2026年3月17日
    2
  • ftp上传工具如何下载和使用像详细教程

    ftp上传工具如何下载和使用像详细教程在学习网站搭建的过程中,我们必定会用到ftp上传工具,那么ftp工具是什么呢,我们该如何下载和使用呢?FTP(FileTransferProtocol),简称是文件传输的协议,我们可以用这个协议在互联网上做文件的双向传输,让我们用自己的计算机,可以链接到世界各地具有文件传输协议的ftp服务器进行连接,从而可以访问,传输下载大量的共享文件。同样我们可以从网站空间服务器中下载拷贝需要的文件到自己的…

    2022年5月22日
    42
  • Git Windows下载安装详细教程

    Git Windows下载安装详细教程首先登录Git官网:https://git-scm.com/1.点击Download下载2.选择版本默认64位3.点击安装程序(这里是我之前下载的2.23版本)4.进入安装界面点击next到选择组件界面(这里1是在桌面创建图标,2是决定在所有控制台窗口中使用TrueType字体和是否每天检查Git是否有Windows更新的)根据需要选择,这里我没有选择第二个。点击next到选择gi…

    2022年5月29日
    55
  • linux经常使用命令

    linux经常使用命令

    2021年11月30日
    43
  • 记一次修改sga大小之后出现的一系列报错

    记一次修改sga大小之后出现的一系列报错

    2021年7月5日
    120
  • 腾讯元宝重磅升级:混元T1正式版与DeepSeek V3全面接入,掀起AI应用新风潮!

    腾讯元宝重磅升级:混元T1正式版与DeepSeek V3全面接入,掀起AI应用新风潮!

    2026年3月13日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号