package cn.mybole;
import com.mr.*;
class Test
{
    public static void main(String[] args)
    {
     // System.out.print("package test!");
       Test2 t2=new Test2();
    }
}package com.mr;
public  class Test2{}我看了没错误啊,为什么会出现下面的这种错误呢
错误如下:can not resolve symbol  Test2 t2=new Test2()

解决方案 »

  1.   

    你的Test2是不是还没有编译成.class文件啊
      

  2.   

    import com.mr.Test2能不能点出来...  还有 自定义包不可以用 .*的 只能一个一个 .出来的
      

  3.   

    cn.mybole同一个文件夹下有 com.mr;没?
      

  4.   

    我已经先编译过Test2了,那个两个包都放在D盘根目录下的。
      

  5.   

    import 自定义package 也可以 .* 这样的,没问题
      

  6.   

    Test2默认构造器是这样的:default Test2(){}所以Test2 t2=new Test2()就不可以了!~
      

  7.   

    确保目录的安排如下:root
    ├───cn
    │   └───mybole
    │       └───Test.class
    ├───com
    │   └───mr
    │       └───Test2.class然后在root目录
    java cn.mybole.Test我试验通过
      

  8.   

    另外
    public class Test2{}然后Test2 t2=new Test2();也是没有问题的
      

  9.   

    我只是想验证一下不同包访问其他类的问题,好象还是不行,我的两个包都是在D盘根目录下的,我首先编译了Test2.java,可以的,但是编译到Test.java就会报错,can not resolve symbole.
    还不知道我什么错误,我看是可以的,楼上的有的都编译通过了,
      

  10.   

    我用你的代码已经在控制台编译运行,遇到过你的问题:
    编译Test2.java 后 在同目录生成了Test2.class文件,但没自动生成包路径,
    这时候编译Test.java 会得到LZ的错误,
    我手动创建了Test2的文件夹,并把Test2.class放进去,然后返回根目录编译Test.java 编译通过
      

  11.   

    上面说的是我直接拷贝你的代码在根目录创建2个java 文件的情况目录结构为
    root
    │───Test.java
    │───Test2.java这个问题很久以前我也遇到过,所以比较注意,我就多说几句
    如果你的目录结构本来如下root
    ├───cn
    │   └───mybole
    │       └───Test.java
    ├───com
    │   └───mr
    │       └───Test2.java
    首先你编译Test2.java 得到root
    ├───cn
    │   └───mybole
    │       └───Test.java
    ├───com
    │   └───mr
    │       └───Test2.java
    │       └───Test2.class然后你到
    root
    ├───cn
    │   └───mybole
    下编译Test.java
    这时候你的classpath 就没有Test2.class,需要手动指定如下编译>root/cn/mybole:  javac -classpath %classpath%;root Test.java