我用Eclipse新建一个工程P1,在它下面写下面两个类:
 ackage xy.hyp; class C1{
 String name;
 C1(String name){
 this.name = name;
 System.out.println("my name is "+ name);
 }}

import xy.hyp.*;
public class Test {
public static void main(String args[]){

 
  C1 c= new C1("jd");//?有错,说找不到类

     
}}
C1 c= new C1("jd");有错,说找不到类,可我明明是用import 引入了啊?为什么会出现这个问题啊

解决方案 »

  1.   

    你还是写成public class C1吧,default的只能本包用。
      

  2.   

    你的C1的构造方法不是 public 的
    而是缺省级别缺省级别只能包内调用
      

  3.   

    C1改成下面的形式,你原来没有public 修饰class,默认是protected 只有同一个包的类才能访问,即便你import进来那个包也不管事的
    public class C1{
        String name;
        public C1(String name){
            this.name = name;
            System.out.println("my name is "+ name);
        }}
      

  4.   

    二楼,你好,不是说只能有一个public 类吗?
      

  5.   

    只能有一个public类是指在一个 .java文件内只能有一个。
      

  6.   

    import了不代表就在一个包里了哦~~~
      

  7.   

      先搞清楚文件名称(HelloWorld.java),类名称(HelloWorld),编译之后的字节码文件名称(HelloWorld.class)
     1、在一个Java文件中,只能有一个public访问权限的类,可以有多个不是public修改的类
     2、public修饰的类名称,一定要与文件名称一致
     如下的程序:编译可以使用javac HelloWorld.java  执行是需要:java Hello
      class Hello{
        public class static void main(String args[]){
        System.out.println("Hello World");
      }
     }
      public class HelloWorld{
       .....
      }
      

  8.   

    import xx.X是说这个.java文件能访问xx这个包下的X类了,不是说xx.X包含在这个.java文件