最近在写java测试程序的时候突然遇到了一个问题:java默认包中的public类是不能在其他包中直接调用的

首先,总结一下默认包中类的使用范围,java默认包中的类可以实例化其它包中的public类,但是其它包中的类是不能显式实例化默认包中的类这个特性在JDK1.4以后的版本成立;

其次,可以通过反射来访问默认包中的类,例如下面代码

public class Hello {

private String codeing;

public String getCodeing() {

return codeing + " Hello!";

}

public void setCodeing(String codeing) {

this.codeing = codeing;

}

}

package junit;

import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;

import junit.framework.Assert;

import junit.framework.TestCase;

public class TestHello extends TestCase{

public void testDplit() throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, InstantiationException{

Class c = Class.forName("Hello");

Method m1 = c.getDeclaredMethod("setCodeing", String.class);

Object ins = c.newInstance();

m1.invoke(ins, "qh");

Method m2 = c.getDeclaredMethod("getCodeing");

Assert.assertEquals((String)m2.invoke(ins),"qh Hello!");

}

}

java的默认_java默认包的使用相关推荐

  1. java 修饰符默认_Java 默认修饰符 总结

    Java 默认修饰符总结 1.类(class) 可见性修饰符:public-在所有类中可见,在其他包中可以用import导 入. 缺省-就是没有修饰符,在同一个包中的类中可见,在其他包中不能用 imp ...

  2. java abstract方法_java – 默认实现或抽象方法?

    将一个方法的默认实现放在一个超类中是最好的,当子类想要偏离这个方法时要覆盖它,还是应该把超类方法抽象出来,并且跨越许多子类来重复正常的实现? 例如,我涉及的一个项目有一个类,用于指定它应该停止的条件. ...

  3. java jar 配置_java jar包与配置文件的写法

    一个普通的java project,里面引用了config.properties配置文件,将项目打成Runnable jar,然后将config.properties放到打包后的jar路径下,执行该j ...

  4. java 对象加密_java.security包实现对象加密

    Java原生支持常见的加密算法,例如DES.RSA.随便写点关于Java安全包的东西. Java.security.Provider对象官方的解释是:实现了 Java 安全性的一部分或者全部. pro ...

  5. java war目录_java war包 路径--解决war包中文件路径问题

    https://blog.csdn.net/u013409283/article/details/51480948 转自:http://free-chenwei.iteye.com/blog/1507 ...

  6. java ant解压缩_java ant包中的org.apache.tools.zip实现压缩和解压缩实例详解

    java ant包中的org.apache.tools.zip实现压缩和解压缩实例详解 发布于 2020-4-7| 复制链接 摘记: java ant包中的org.apache.tools.zip实现 ...

  7. java jar下载_java jar包资源下载

    jar包有:commons-httpclient-3.1,commons-io-2.4,commons-io-2.6,commons-lang-2.5,commons-logging-1.2,curv ...

  8. java socket 工具包_java.net 包 Socket通信 工具类

    废话1000000字省略.........呵呵...... 首先是服务器端:FileServer.java package com.stars.windsystem.tool.utils; impor ...

  9. java程序中默认包含的是_在 Java 程序设计中,由 Java 编译器默认导入的包是( )_学小易找答案...

    [单选题]22.抑郁发作的核心症状是 ( ) [单选题]有关微卫星的描述正确的是 [单选题]下列哪一种病毒的遗传物质为RNA [判断题]演示播放时用画笔添加的标注会在保存时留下来,将会更改原来的PPT ...

最新文章

  1. ssldump0.9b3版本的源码分析
  2. android pc模拟器哪个好,安卓模拟器电脑版哪个好用
  3. Shape Completion using 3D-Encoder-Predictor CNNs and Shape Synthesis 第二部分
  4. Leviathan系列4-7
  5. hdoj1242(bfs+priority_queue)
  6. 如何给linux安装yum,linux如何安装yum
  7. 城八区和通州区限价房申请5月16日开始受理
  8. 60、弱电网络管理入门与基础技术
  9. matlab反双曲函数表达,matlab求反正切
  10. System.Activator类
  11. 周志华《机器学习》第三章线性模型笔记+习题
  12. matlab心碎的心,让人撕心裂肺的心痛网名,心碎绝望的伤感昵称
  13. GRBL学习-常用G代码
  14. @Deprecated(注解)
  15. MATLAB 太阳系九大行星运行(天文物理)天体仿真(一)
  16. Redis-避免缓存穿透的利器之BloomFilter
  17. appium自带的appium insepect
  18. Linux虚拟机(lvm)报Unmount and run xfs_repair
  19. 百度Paddle免费课程——从零开始学视觉Transformer
  20. luoguP4466 [国际集训队]和与积 莫比乌斯反演

热门文章

  1. 第四章课后习题及答案
  2. SpiderData 2019年2月22日 DApp数据排行榜
  3. Grpc+Grpc Gateway实践一 介绍与环境安装
  4. angular2、ng2 http get post 传参
  5. Go语言TCP Socket编程
  6. H5开发开发利器——flex
  7. springmvc+mybatis+sql server实现简单登录功能
  8. [EF]vs15+ef6+mysql这个问题,你遇到过么?
  9. mysql修改存储位置及开启远程
  10. 如何允许非Administrator用户远程登录主机