文件夹结构 mypackage\c1.class窗口栏输入 cd mypackage java mypackage.c1
C1和B1都在同一个java文件里,编译后当然都在mypackage里 用java mypackage.B1运行当然可以,能解释一下吗?还有,如果把两个类分成两个文件即C1.java,B1.java,都放在mypackage里 分开编译,先编译C1.java,可以,后编译B1.java,出错,这是为什么?如果在mypackage目录下javac *.java,两个都能编译,为什么分开编译却又不行呢?//C1.java package mypackage; //定义类所属的包 class C1 { public int number; public int age; public C1(int n, int a) { number = n; age = a; } public void output() { System.out.println("number = " + number + "\n" + "age = " + age); } }//B1.java package mypackage; public class B1 { public static void test() { C1 s1 = new C1(0,0); s1.number = 1; //同一包中的其他类可以访问public成员 s1.age = 25; //同一包中的其他类可以访问默认权限成员 s1.output(); } public static void main(String[] args){ B1.test();}} 我的这些问题在jbuilder里是不存在的,这有为何?请指点迷津
mypackage\c1.class窗口栏输入
cd mypackage
java mypackage.c1
用java mypackage.B1运行当然可以,能解释一下吗?还有,如果把两个类分成两个文件即C1.java,B1.java,都放在mypackage里
分开编译,先编译C1.java,可以,后编译B1.java,出错,这是为什么?如果在mypackage目录下javac *.java,两个都能编译,为什么分开编译却又不行呢?//C1.java
package mypackage; //定义类所属的包
class C1
{
public int number;
public int age;
public C1(int n, int a)
{
number = n;
age = a;
}
public void output()
{
System.out.println("number = " + number + "\n" + "age = " + age);
}
}//B1.java
package mypackage;
public class B1
{
public static void test()
{
C1 s1 = new C1(0,0);
s1.number = 1; //同一包中的其他类可以访问public成员
s1.age = 25; //同一包中的其他类可以访问默认权限成员
s1.output();
}
public static void main(String[] args){
B1.test();}}
我的这些问题在jbuilder里是不存在的,这有为何?请指点迷津
D:\>javac -classpath . mypackage/B1.java这样就可以了
如果要编译package中的文件,这是指定格式,
如果要运行,也是要指定路径