Topic: 有关package 的问题

  Print this page

1.有关package 的问题 Copy to clipboard
Posted by: yangjinfeng
Posted on: 2004-08-13 16:08

下面这段程序能编译通过,但就是运行不了,错误信息是类不能加载。
如果吧这个文件分成两个类文件,则B1不能编译。请问怎么回事?

为什么加上package 语句,不能运行,去掉却又可以呢,当然我是把类文件放在对应的文件夹里

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);
}
}

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();

}

}

2.Re:有关package 的问题 [Re: yangjinfeng] Copy to clipboard
Posted by: letmein
Posted on: 2004-08-13 16:22

建一个目录mypackage
把你的文件扔进去
在包含mypackage目录的目录下执行java mypackage.yourClass

3.Re:有关package 的问题 [Re: yangjinfeng] Copy to clipboard
Posted by: yangjinfeng
Posted on: 2004-08-14 09:40

多谢letmein,如果两个类都在一个java文件里,则编译通过,象你说的那样运行也ok,你可以解释一下吗?

现在把 两个类分成两个java文件,现编译C1没问题,但是在编译B1就有错了,请问这是为什么?当然如果在mypackage目录下javac *.java 又可以编译成功,回到上一层目录java mypackage.B1,也能得到正确结果,这又是为什么呢?

我的这些疑问在jbuilder里是不存在的,这我也很纳闷。

package mypackage;          
public 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);
}
}

package mypackage;
public class B1
{
public static void test()
{
C1 s1 = new C1(0,0);
s1.number = 1;
s1.age = 25;     
s1.output();
}
public static void main(String[] args){
B1.test();

}

}

希望指点迷津

4.Re:有关package 的问题 [Re: yangjinfeng] Copy to clipboard
Posted by: letmein
Posted on: 2004-08-16 08:15

所以开始学Java的时候,不要用什么工具
对深入理解没有帮助

要先编译被依赖的类

5.Re:有关package 的问题 [Re: yangjinfeng] Copy to clipboard
Posted by: bsspirit
Posted on: 2004-08-18 18:13

我在JCreator里,没问题!!

做成两个文件时,要导入
import mypackage.C1;


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923