A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 谢洋 于 2013-3-12 00:18 编辑

比如说:1、AppClassLoader只能加载classpath路径下的类,并且所要加载的类名必须是全名,也不能在全名上加上目录
如:用 loadClass("cn.itcast.day2.ClassLoaderAttachment")能找到
而用 loadClass("ClassLoaderAttachment")//找不到
2、但为什么自定义的类加载器就可不用用全名,而且可以在类名前加上路径?
如:用 loadClass("cn.itcast.day2.ClassLoaderAttachment")能找到
     用 loadClass("ClassLoaderAttachment")//也能找到
我的意思对比1、和 2,为什么要这样子做?不要误解我的意思哦

2 个回复

倒序浏览
cn.itcast.day2.ClassLoaderAttachment 如果你这个包的 itcast目录下也有一个ClassLoaderAttachment 这样的类,你直接加载ClassLoaderAttachment 使用时,java怎么知道你加载的是cn.itcast.day2.ClassLoaderAttachment类还是cn.itcast.ClassLoaderAttachment这个类;为了避免类似问题,java规定要加上包名.类名 OK
回复 使用道具 举报
把包导进来

在Java代码中导入包,与其说为了使用里面的方法,不如按照面向对象语言的特点,说成为了使用里面的类,因为Java作为典型的面向对象语言,他的程序是以数据作为基础,以类的形式组织的,类主要包括:你自己的写的类和你的类中需要用到的现有的类,这些现有的类基本上都是以package包的形式存在的,你只有导入了这个类所在的包,才能使用这个类。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马