初学者,请各位指教,多谢

问题描述

如下面的两个Java程序:1.packagecom.vinsunlight;publicclassTest2{}2.packagecn.mybole;//importjava.io.File;importcom.vinsunlight.*;publicclassTest{publicstaticvoidmain(String[]args){Test2t2=newTest2();System.out.println("!!");}}为什么第二个程序中不把packagecn.mybole删去则不能编译,并且这样不能运行main函数;而当把导入包中的importcom.vinsunlight.*改为importcom.vinsunlight.Test2,此时把packagecn.mybole删去同样能编译运行。小弟是个初学者,实在是解决不了这个问题,望各位高人多多指教

解决方案

解决方案二:
当两个类在不同的包A、B中时,A中的类想调用B包中的类,必须使用import引入,如果不引入则不能找到对应的类,所以不能编译。当两个类在同一包里时,可以不用import引入。
解决方案三:
同意LS的观点,另外如果LZ在classpath增加packagecom.vinsunlight的路径也可以运行
解决方案四:
1楼只解释了import的问题并没有解释楼主package问题。import指的是需要引入的类,而*号代表这个包下面的所有类被引入。源代码的要求最严格,而一旦源代码自己声明了在哪个package路径之下,class也就有了自己在哪个package下面的信息,就是那句程序开头的"packagexx.xx.xx"。有人问,为什么要有这个信息,直接放目录结构里不就好了么?是啊,直接放目录中确实可以找到.class和.java,但是如果我要输出这个.class是属于哪个package的,该怎么办?所以我们需要在.class里面留一个package的信息。如果我们要区分同样名称为A.class的类怎么办?所以我们需要在.class里面留一个package的信息。  .java文件是一个独立的编译单元,类似c++里面的cpp文件,但是它不需要.h文件,只要.java就足够了,一个.java文件里面可以包含一个public的类,若干package类(package类特征是没有任何访问控制修饰),还有内隐类的话,则还可以包含若干protected和private的类。每个类,都会在编译的时候生成一个独立的.class文件,所以.java和.class不是一对一,而是一对多的关系,不过.java和public的类是一对一的。所有这些.class,都由这个.java开头的package语句来确定自己在package中的位置。  packagexx.bb.aa;  说明这个.java编译单元中的所有类都放到xx.bb.aa这个package里面。而对应的,必须把这个.java文件放在xx目录下bb目录下的aa目录里面。如果一个.java文件没有任何package语句,那么这个.java里面的所有类都在package的"/"下面,也称之为defaultpackage。可以看出你一般从任何java教科书上写的第一个helloworld程序的那个类是在defaultpackage里面的。有了package语句,情况就复杂一点了。这个编译单元.java必须放在package名对应的目录之下。而生成的class文件也要放在对应的目录结构之下才能正常运作。
解决方案五:
wsk1002讲的很仔细
解决方案六:
好好看看2楼的吧呵呵我也学习一下拉虽然只是路过
解决方案七:
在相应的目录下确实生成了类文件,只是使用import不能引用,而把路径全部写清楚就可以,用*代替就不行,但是当引用Random类时只需要importjava.util.*就可以,不知道问题到底出在哪里,谢谢各位高人了

时间: 2024-10-21 12:00:00

初学者,请各位指教,多谢的相关文章

c++书上的一个问题,初学者 请多多指教

问题描述 c++书上的一个问题,初学者 请多多指教 #include using namespace std; class Point{ public: Point() :x(0), y(0){ cout << "Constructor called." << endl; } ~Point(){ cout << "Destructor called." << endl; } int getX() const{ retu

c#-C#简单程序问题,初学者请大家指教

问题描述 C#简单程序问题,初学者请大家指教 textbox1中输入一个数字,点击确定按钮,label1中显示输入的数字,再次在textbox1中输入其他数字label中累加,请问这个程序代码怎么写?在textbox1中只能输入数字,这个代码是什么? 解决方案 在按钮里面写: label1.Text = (double.Parse(label1.Text) + double.Parse(textBox1.Text)).ToString(); 在textbox1的changed事件里面写: dou

我想在一个窗体上设计一张产成品入库单,需要哪些控件,我是个初学者,请多多指教啊.非常感谢.

问题描述 我想在一个窗体上设计一张产成品入库单,需要哪些控件,我是个初学者,请多多指教啊.非常感谢. 解决方案 解决方案二:datagriadview以及相关的button对表进行更新操作解决方案三:在窗口设计中,从工具栏中,选择DataGridView控件,然后设计它的DataSource为你想要的数据源就可以了.解决方案四:严格按照需求的要求来,需求中需要什么就使用什么,比如说固定选择的,使用combobox,时间日期的,使用dtpicker,输入的使用textbox,而表格,不是太建议使用

winform判断文件是否完成上传(新手,请大家指教)

问题描述 winform(c#),如何实现判断某文件是否成功上传到服务器请大家指教最好可以给些代码让我学习,多谢! 解决方案 解决方案二:而且,怎么判断上传是否完成呢?请大家帮忙解决方案三:如果是用ftp上传的话.你每次上传前应该告诉服务器你上传这个文件的大小.当你读字节流总数等于文件的总额时,这个时候就上传结束了.解决方案四:FileInfofileInf=newFileInfo(filename);stringuri="ftp://"+ftpServerIP+"/&quo

最近在学习ASP.Net(C#),请高手指教

问题描述 边学习并边做自己的一个论坛,有几个小问题,请搞手指教1.在论坛里通常情况下采用什么方式保存用户信息,如Session/Cookies/...,这个问题除了Session以外,其它的方式希望能给个用户点了登录按钮后的源代码,以及判断用户是否已经登录了的源代码!2.不知道哪里有完全开放的论坛源代码可以下载学习,现在网上的都是关键代码编译成DLL的,要求是所以源代码都是开放的,没有DLL文件的,并且是可以运行起来的,给个链接,我自己下,功能少点无所谓,关键功能有就行了,我反正也是学习用!多谢

很急,请高手指教

问题描述 我的项目中使用了jspsmartupload组件进行上传,我的action是交由spring管理的现在要初始化SmartUpload那么在action中如何获取actionServlet的servletConfig呢之前看了网上的一些回答但是都不准确.我的错误代码如下:action中的部分代码SmartUploadsu=newSmartUpload();su.initialize(this.getServlet().getServletconfig(),request,response

html-为什么我的这个重置按钮没用啊,请各位指教

问题描述 为什么我的这个重置按钮没用啊,请各位指教 解决方案 关闭按钮 重置按钮 解决方案二: 你只贴出了一些html,没有任何逻辑,当然没用. 解决方案三: 就写了一个链接,和重置有关系吗?如果要重置按钮,在form表单里加上 <input type=""reset"" value=""重置""/> 解决方案四: 重置

科技立项-关于导航软件的询问,请各位指教

问题描述 关于导航软件的询问,请各位指教 Google地图,百度地图等导航软件是用什么工具开发的,需要用到哪些技术啊,还有可以告诉我一个大致的开发过程吗,谢谢! 解决方案 PC版GPS导航DIY组合教程 解决方案二: 首先,你应该咨询一个靠谱的开发团队,而不是自己捣鼓.你的问题是你完全对于软件开发没有任何认识.软件开发的关键不在于用什么"工具",好比作家写文章不取决于用什么样的笔.导航软件分为两类,一类是在线地图的方式,一类是分为离线地图的方式.在线地图很容易理解,就是你的手机和电脑上

asp开发规范 ——写这个东西请多多指教,以后开发时好少吃点苦头。

规范|开发规范 asp开发规范 --写这个东西请多多指教,以后开发时好少吃点苦头. 一.单页编写规范:切记页面要分模块来写:第一模块:接收参数.[有可能从不同页面提交到同一个页面:也可能出现两个表单项以哪个优先的处理.第二模块:定义全局变量.第三模块:写处理代码(尽量将代码都包含到函数中,详见页面附注一.).--到此asp代码主要部分完成.第四模块:纯html代码,利用储存在全局变量中的值来生成页面.第五(注意):要在页面头部写清页面逻辑.(如何接收.处理.)优点:便于维护.模块独立,便于重复使

此处finally能执行吗,请高手指教

问题描述 此处finally能执行吗,请高手指教 此处的yinally为什么不执行 解决方案 try catch中只有一种条件不会执行finally语句,那就是system.exit() 解决方案二: 对于java程序,运行System.exit()会终止JVMfinally不执行 解决方案三: 再说一个极端的情况try{ ...}finally{ while (true) { }}finally是一个死循环,你说你用任务管理器强关,能保证它执行完么?当然不行.要不电脑还不能关机了. 解决方案四