java - idea中一个问题,求解答。(问题简单和基础,看清楚再回答好吗)
天蓬老师
天蓬老师 2017-04-18 09:44:47
[Java讨论组]

在一个包中,如何导入根目录下的类。
如图:

其中在根目录下是有hello类的,但是按alt加enter后没有任何导入提示,

但是如果在另外一个包中创建hello类,alt加enter就可以直接提示导入。

这是idea的问题吗?

不是大小写的问题,不在同一个包类。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(7)
PHP中文网

在非默认包中new默认包的类的对象是不允许的,也是无法导入的。楼主如果真想得到默认包类的对象,可以使用反射,但只能使用根类Object的方法;或者你也可以让默认包的类继承或实现非默认包的类或接口,然后就可以使用父类或父接口的方法了。

Class c = Class.forName("Hello");
Object h = c.newInstance();
//如果Hello有父类或实现的接口,比如World
World w = (World)h;
阿神

问题1:没看到hello类的截图,不好回答
问题2:你一开始就问同一个包,如何导,上面的人都基本答到了点。
问题3:我看哪些认真回答你了,你的回复有点过分,不是一个请教别人的态度
问题4:看你导了Spring 之类的包,如果学到这,那一些类命名规范还是要遵循的。不过不工作只玩玩也没事。
问题5: hello hello = new hello();
如果那这个hello是类还是类的对象?

迷茫

因为两个类在同一个包下不需要导入。

怪我咯

import hello

或者将hello首字母大写

刚刚试了下, 还真不行。
不过我到现在也没碰到过像你这种需求, 一般都是建议不使用默认包。

ringa_lee

Hello类的名称首字母要大写。

PHP中文网

hello不是pulic的吧

怪我咯

从来没有遇到这个问题,因为我不给自己挖坑。强烈建议不要使用默认包(也就是你说的根目录),除非你写的是只有一个类的程序。
如果你只是技术探讨,那么我告诉你答案是:做不到,除非用反射。可以参考一下这个
最后,请修改一下你的标题,注意你问问题的态度,大家没有义务回答你的问题,你也没有付费,不是吗?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号