黑马程序员技术交流社区

标题: 关于包的问题 [打印本页]

作者: 郑强强    时间: 2012-4-11 22:44
标题: 关于包的问题

建了一个Test1.java文件,包名te1,如下:
package te1;
public class Test1
{
void try()
    {
      System.out.println("Test1");
    }
}

又建了个Test2.java文件,其中就是用了一下te1中Test1 中的 try()方法,如下:
import my.Test1;
public class Test2
{
   public static void main(String[] args)
     {
       Test1 a=new Test1();
       a.try();
     }
}
我用javac Test1.java 生成了Test1.class文件
但是javac Test2.java 时却提示软件包te1不存在。
不知道问题出在哪?文件放到同一盘下了

作者: 郑苑东    时间: 2012-4-11 22:51
你导入错了吧,,,package te1;import te1.Test1;  import 应该是这样才对。。第一个是在te1里面 不是my

作者: 李震 李震 李震    时间: 2012-4-11 22:52
导入的包有错,你导入的是import my.Test1;
而你的Test1包是te1.Test1 应该导入 import  te1.import

作者: 邱俊杰    时间: 2012-4-11 23:02
和我之前犯的 一样错误~  你导入的文件名错了。  java  te1.Text1.java 这样就o啦 。有包名记得把包名写进去。毕老师的视频时没有包名的。
作者: 刘基军    时间: 2012-4-11 23:09
1.
import my.Test1; //这边是不是写错了,而应该是:import te1.Test1;
修改你的Test1.java:
package te1;
public class Test1
{
        public void tryF()        //try是java关键字,不可用 ;另外要想这个方法在不同的包中被使用,需要public修饰
    {
      System.out.println("Test1");
    }
}
修改你的Test1.java:
import te1.Test1;
public class Test2
{
   public static void main(String[] args)
     {
       Test1 a=new Test1();
       a.tryF();                      //
     }
}
3.
a.先把Test1.java和Test2.java都放在D:\下,
b.打开CMD至D:\下,
c.编译Test1.java,: javac  -d . Test1.java  //会在d:\下生成"te1"的文件夹,里面有Test1.java
d.,编译: javac Test2.java //就会在d:\下生成Test2.java
e.运行: java Test2,即可
作者: 魏明明    时间: 2012-4-11 23:18
建了一个Test1.java文件,包名te1,如下:
package te1;
public class Test1
{
public void try()//最好用public实现包与包间的访问
     {
       System.out.println("Test1");
     }
}

又建了个Test2.java文件,其中就是用了一下te1中Test1 中的 try()方法,如下:
import te1.Test1;
public class Test2
{
    public static void main(String[] args)
      {
        Test1 a=new Test1();
        a.try();
      }
}
  用javac -d . Test1.java 生成了Test1.class文件 估计你没有生成te1包
但是javac Test2.java 时却提示软件包te1不存在。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2