0

ディレクトリLibUtilにファイルItem.javaを含むパッケージLibUtilがあります。このファイルには私が持っていますpublic class Item

package LibUtil;
public class Item
{
 static protected int id=0;
 protected int type;
 protected String name;
 protected String category;

public Item(int type,String name,String category)
 {
  id++;
  this.type = type;
  this.name = name;
  this.category = category;
 }

 public int GetId()
 {
  return id;
 }

 public int GetType(){
   return type;
  } 


 public void SetType(int type){
   this.type = type;
  }

 public String GetName(){
   return name;
  }

 public void SetName(String name){
   this.name = name;
  }

 public void SetCategory(){
   this.category = category;
  }
public String getCategory(){
   return category;
  }
}

このクラスを LibUtil からインポートします。

import LibUtil.Item;
public class Library{
 public static void main(String[] args){
   Item test = new Item(1,"XYZ","Alpha");


    }

}

このプロジェクトをコンパイルしてトレーニングすると、コンパイラは次のような出力を生成します。

Library.java:1: LibUtil.Item is not public in LibUtil; cannot be accessed from outside package
import LibUtil.Item;
              ^
Library.java:4: cannot find symbol
symbol  : class Item
location: class Library
   Item test = new Item(1,"XYZ","Alpha");
   ^
Library.java:4: cannot find symbol
symbol  : class Item
location: class Library
   Item test = new Item(1,"XYZ","Alpha");
                   ^
3 errors

この問題をどのように解決しますか?

Upd:コマンドでプロジェクトを再構築しようとしています:

javac LibUtil/Item.java
javac Library.java
4

1 に答える 1

0

ソース ファイルで、Item.java の複製を見つけました。そして、この重複したクラスの Item には public 修飾子がありません。このトピックのすべての回答者に感謝します

于 2012-12-29T19:41:55.480 に答える