[解決済み] Javaにおける宣言と定義の違いは何ですか?
質問
2つの用語の間で非常に混乱しています。私はstackoverflowでチェックし、C + +のための同様の質問がありますが、javaのためのものではありません。
どなたか、javaの2つの用語の違いを説明していただけませんか?
どのように解決するのですか?
概念の違いは簡単です。
-
宣言 : あなたは を宣言しています。 を宣言していることになります。については何も言いません。 何 そのクラスや関数がどのようなものかについては何も言わず、ただそれが存在すると言うだけです。
-
定義 : あなた 定義 クラス、関数、変数など、何かをどのように実装するかを定義します。 何を ということです。
Javaでは というように、両者の間にほとんど違いはなく、形式的に言えば、宣言には識別子だけでなく、その定義も含まれます。以下、個人的にこの用語をどのように解釈しているかを詳しく説明します。
-
クラス : Javaでは、C++のように宣言と定義を分けていません(ヘッダファイルやcppファイルで)。宣言した時点で定義するのです。
-
機能 : インターフェイス(あるいは抽象クラス)を書いているときは、関数を定義せずに宣言していると言えるでしょう。しかし、通常の関数は、宣言された場所で必ず定義されます。関数本体を定義と見なせばよいでしょう。
-
変数 : 変数 宣言 は次のようになります。
int x;
(変数
x
が存在し、型が
int
) ローカル変数かメンバーフィールドかどちらかです。Javaでは
x
から
を定義します。
への代入によって決定される、それが保持しなければならないどのような値であるかを除いて、可能です。
私がどのように用語を使用しているかを大まかにまとめると、以下のようになります。
abstract class SomeClass { // class decl.
// \
int x; // variable decl. |
// |
public abstract void someMethod(); // function decl. |
// |
public int someOtherMethod() { // function decl. |
// | class
if (Math.random() > .5) // \ | def.
return x; // | function definition |
else // | |
return -x; // / |
// |
} // |
} // /
関連
-
が 'X-Frame-Options' を 'sameorigin' に設定したため、フレーム内に存在する。
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
1分でわかる!恋人の写真をIDEAの背景画像に設定する方法【おすすめ集
-
[解決済み] この2回(1927年)を引き算すると、なぜおかしな結果になるのでしょうか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaBeanとは何ですか?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] wait()とsleep()の違いについて
-
[解決済み] Javaクラスにおけるcanonical name、simple name、class nameの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
java.sql.SQLException: executeQuery()でデータ操作文を発行できません。
-
Jsoup-Crawlingの動作
-
無効な文字定数
-
Java Notes 005_この行に複数のマーカーがある - キーを変数に解決できない - シンタックスエラー、ins
-
BindException: アドレスはすでに使用中です:バインドエラー解決
-
セミコロン期待値エラー解決
-
JDK8 の Optional.of と Optional.ofNullable メソッドの違いと使い方を説明する。
-
eclipse にリソースリーク:'in' が閉じない
-
アクセス制限の解決方法: ---- in Java
-
テストが空であるかどうかを判断するためのオプションの処理