2016-12-08 11 views
-1

コードInetAddressをJava開発パッケージにチェックし、次の行が表示されます。新しいキーワードを使用してInetAddressクラスのオブジェクトを作成できない理由

ラインNo:302 - 上記のコードで308

/** 
    * Constructor for the Socket.accept() method. 
    * This creates an empty InetAddress, which is filled in by 
    * the accept() method. This InetAddress, however, is not 
    * put in the address cache, since it is not created by name. 
    */ 
    InetAddress() { 
     holder = new InetAddressHolder(); 
    } 

私はInetAddressクラス修飾がdefaultprivateではないことがわかりますが、その後、あまりにも、なぜ私たちは、新しいメソッドを使用してInetAddressクラスのオブジェクトを作成していない傾けます。あなたができた....しかし、あなたはいけない

InetAddress addr = new InetAddress(); 
+0

あなたはそれを作成することができます - 'Socket.accept()'を呼び出すことによって。 – RealSkeptic

+0

クラスのパッケージの外からデフォルトのアクセスメソッドまたはコンストラクタを呼び出すことはできません。 – Mena

答えて

1

を次のように....あなた不作為、過失や誤っている場合

が...

を視界の概念としてどのようなフレンドリーな手段を覚えておいてくださいjava.netという名前のパッケージを定義します。

InetAddress v = new InetAddress(); 

が有効になります。.. AGAIN

...はあなたが行うことができない何か...あなたがやるべきではない何かではありません!

ので、より良いSDKパッケージ名を使用して独自のパッケージを定義していないか、

java.lang.SecurityExceptionよう 例外を取得します決して:禁止パッケージ名:java.net

+0

あなたのお返事ありがとうございます –

+0

@NMuhammedThamjeedあなたは大歓迎です! :)\) –

関連する問題