2012-02-29 20 views
6

は、全体のソースコードである:この行は意味ない何Javaで空の中括弧/中括弧は何を意味しますか?ここ

Provider(){} 

:ここ

http://zerioh.tripod.com/ressources/sockets.html

は、私が強調表示するコードですか?ありがとう。

+2

+1 - 大きな質問です!もちろん基本的なものですが、思考力を高め、アクセスレベル修飾子を使用してアクセスを制限し、クラスの目的を明確にする方法を強調しています。私は多くの人がこれらのことを見落としているように感じて、「このクラスはこのパッケージと他の場所でのみ使用されています」のような情報をどのように伝えることができないのか分かりません。 – jmort253

答えて

4

このコンストラクタでは何も実行されません。通常Javaはこれをデフォルトで提供しているので、Provider(){}の書き方は必要ありません。

コンパイラがデフォルトで提供するものとの主な違いは、公開されていないためアクセスが制限されていることです。

+1

これは実際にjavaが作成するコンストラクタと同じではありません。私は、自動的に作成されたコンストラクタが公開されていると考えています。これはデフォルトの視認性を持っています。 –

+0

私の悪いです。投稿を編集します。ありがとうございました。 – javaCity

+0

@javaCity - あなたの答えを編集してより正確にしました。 :) +1 – jmort253

1

デフォルトのアクセシビリティを持つコンストラクタです。

1

引数なしのコンストラクタは、宣言されていない代わりに定義されています。しかし、アクセスレベル修飾子 "public"は省略されているため、引数なしのコンストラクタはデフォルトパッケージを使用して定義されています。

これは、パッケージ外のどのクラスでもインスタンス化できないことを意味します。パッケージ内のクラスのみがProviderクラスをインスタンス化できます。

0

default constructorこれは何もしません。

このクラスのオブジェクトは、パッケージとともに作成できます。

関連する問題