java 创建包 导入包的问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 14:55:40
package game;

public class a
{

void show()
{
System.out.print("1");
}

}

package game;

public class b
{

public static void main(String args[])
{
a aa = new aa();
a.show();

}
2个文件 编译b.java的时候出现了错误
错误图片:http://jinlinsky.blog.163.com/blog/static/87900632200861924832459/edit/
new aa();这里是我打错了 这个我知道 不是这个问题

你先用javac -d . *.java对两个文件进行编译.
一个一个编译也可以:
javac -d . a.java
javac -d . b.java
(用上面的命令在dos下编译可以自动生成包,不用你再建文件夹)
再用java game.b运行.
我试过.能够运行.
你试试看!!!有问题再提!!

public static void main(String args[])
{
a aa = new aa();
a.show();

}

应该是
a aa=new a();

默认的构造函数是a(),用类名来定义的,不是用你的实例名

a aa = new aa();
a.show();
应该是
a aa = new a();
aa.show();

因为默认的classpath不对。简单的方法就是:不要在game文件夹下编译!
假设当前你在game文件夹下,运行:
cd ..\
javac game\*.java (或者javac game\b.java)

正确的应该是
class a {

void show() {
System.out.print("1");
}

}

class b {

public static void main(String args[]) {
a aa = new a();
aa.show();

}
}
这样就不会有编译的错误 然后要跟你说的是在实例化一个对象的时候

AA BB=new CC();
中AA是这个对象BB是类型 CC是这个BB对象的构造函数
因为构造函数跟类对象名字是一样的所有也就是

AA BB=new AA();