2016-07-05 9 views
2

System.out.println()を短くすると、Util.javaの静的メソッドが定義されています。私はUtil.print()の利用をprint()にさらに短縮したいと思っています。だから私は静的なインポートをしました。Javaのデフォルトパッケージから静的クラスをインポート中にエラーが発生しました

Util.javaは、ListOfNumbers.javaと同じディレクトリにあります。

import java.io.*; 
import java.util.List; 
import java.util.ArrayList; 
import static Util; 

public class ListOfNumbers { 
    ... 
    ... 
    public void writeList() { 
    // The FileWriter constructor throws IOException, which must be caught. 
     PrintWriter out = null; 

     try { 
      print("Entered try statement..."); 
      ... 
     } catch (IOException | IndexOutOfBoundsException e){    
      print("Exception thrown: \n" + e.getMessage()); 
      ... 
     } 
    } 
} 

エラー:

>> javac Tester.java && java Tester 
.\ListOfNumbers.java:4: error: '.' expected 
import static Util; 
       ^
.\ListOfNumbers.java:4: error: ';' expected 
import static Util; 
       ^
.\ListOfNumbers.java:4: error: cannot find symbol 
import static Util; 
      ^
    symbol: class Util 
.\ListOfNumbers.java:4: error: static import only from classes and interfaces 
import static Util; 
^ 
.\ListOfNumbers.java:24: error: cannot find symbol 
         print("Entered try statement..."); 
         ^
    symbol: method print(String) 
    location: class ListOfNumbers 
.\ListOfNumbers.java:34: error: cannot find symbol 
         print("Exception thrown: \n" + e.getMessage()); 
         ^
    symbol: method print(String) 
    location: class ListOfNumbers 
6 errors 
+0

私の質問には答えられていません。現在の状況と重複していると思われる質問を詳しく見ることができますか? –

+0

あなたは答えを読んで、あなたの疑いが解消されるはずの答えにタグ付けされた後続の質問を読んでください。 –

+1

ちょうど記録のために:デフォルトのパッケージを使うことは悪い習慣であり、あなたがすべきことではありません。そして、クラスの名前は、彼らが何であるかを述べるべきです。その意味では「Util」はまさに素晴らしい命名の例ではありません。 – GhostCat

答えて

1

あなたはメソッド名必要に応じて

import static Util.print; 

をインポートする必要があり、私はテスタークラスからwriteList()をアクセスしようとすると、私は次のエラーを取得しますUtilからすべての静的メソッドをインポートする:

import static Util.*; 
+0

こんにちはRajesh、共有のおかげで..私はあなたが示唆したようにしています。現在、以下のエラーが発生しています。 。\ ListOfNumbers.java:4:エラー:シンボルが見つかりません import static Util.print; \ ListOfNumbers.java:4:error:クラスとインターフェイスからの静的インポート –

+0

クラスのパッケージ定義があります。 ^ シンボル:クラスUtil 。デフォルトパッケージからの静的インポートは不可能です。http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4989710 – rajesh

+1

ありがとうございました! –

関連する問題