コンピューター, プログラミング
抽象クラス、インタフェース:Javaのオブジェクトモデルの要素
抽象クラスの主なアイデアは、以下の論文に含まれています。時々、何の料理教室を必要とせず、「ウェット」の形で。 そのようなブランクは、直接(インスタンス化)を使用することができません。
Javaで抽象クラスとは何ですか
別の例を考えてみましょう。 java.utilパッケージ内のJava抽象クラスのカレンダーがあります。 。これらの機能はすべてのために必要とされています。それは、などの西と東ヨーロッパ、中国、北朝鮮、タイ、中に、例えば、使用される特定のカレンダーを、実装していない。しかし、それは、このような特定の日付に数日を追加するなど、多くの便利な機能を、持っていません実装のカレンダー。 抽象クラスのコピーを作成することは不可能です。
抽象クラス、抽象Javaメソッド
など...円、矩形、星、そしてそれらを描くコンテナがあります:あなたは、複数のグラフィック要素、例えば、幾何学的形状を開発するとします。 外観の各成分が異なるので、適切な方法は、(それが塗料と呼ばれても)異なる方法で実装されています。 しかし、各コンポーネントは、多くの類似しています。図は、箱に含まれるべきであるが、つまりなど、目に見えるものと見えないことにする色を有していてもよく、各構成要素は、一般的なプロパティを継承しますこれらの図のすべての親クラスを作成する必要があります。
クラスは抽象メソッドを持っている場合は、クラスが抽象的です。 あまりにも - 単語クラスはメソッドのキーワード抽象的な、タイトルを置く前に。 このような方法のタイトルの後にセミコロンを置くことが必要です。 Javaでは、抽象クラスは、コピーを生成することはできません。 私たちは、クラスのない抽象メソッドが存在しない場合でも、その作成を禁止したい場合は、クラスが抽象と宣言することができます。 クラスは、少なくとも1つの抽象メソッドを持っている場合でも、クラスが抽象的でなければなりません。 それはあまりにもだったと抽象があるクラスに不可能、最終、および方法です。 この方法は、抽象プライベート、静的、ネイティブにすることはできません。 1が非抽象宣言することができサブクラス化して、インスタンス化するには、彼らは親のすべての抽象メソッドを実装する必要があります。 クラス自体は、その抽象メソッドを使用することができます。
例:
- 抽象クラスAClassは{
- パブリック抽象ボイド法(A INT) ;
- }
- クラスBClassはAClassは{を延びています
- 公共ボイド方法(INT A){
- //ボディ
- }
な抽象クラスとして許可変数。 彼らは、そのクラスの非抽象子を参照するか、nullにすることができます。
Javaでインターフェース - 多重継承の代替
その後、いくつかの問題があるので、Javaでは、何の多重継承は、ありません。 クラスは複数のクラスから継承することはできません。 しかし、彼は複数のインターフェースを実装することができます。
Javaインタフェースと抽象クラスは - コンセプトは似てますが、同じではありません。 インターフェイスは、インターフェイスだけでそのパッケージ内で利用できる、それがすべてに利用可能であるか、修飾子、公開を省略することができ、パブリックとして宣言することができます。 インターフェースなどが抽象的であるため、抽象キーワードは、必要とされていないが、あなたは指定することができます。
インターフェース宣言
これは、ヘッダで始まり、そしてまず、キーワード公衆に行くこと - 単語インターフェイスを。 次いで、ワード延び、これを継承し、そこから転送インタフェースが存在することができます。 繰り返しさせ、継承関係の周期比率を形成することは不可能であるれていません。 そして、中括弧で囲まれたインターフェース本体は、付属しています。 インターフェイス要素の本体で宣言されます。フィールドの定数及び抽象メソッド。 すべてのフィールドは、公開最終静的です - これらの修飾子の全ては必要ありません。 すべてのメソッドは、パブリック抽象的であると考えられている - これらの修飾子を指定することもできます。 さて、十分なJavaインタフェースから抽象クラスの違いについて語っています。
- パブリックインターフェースAIはB、C、Dを{延び
- //ボディ
- }
クラスインターフェイスの相続人を宣言するには、キーワード道具を使用する必要があります。
- クラスAClassはは、BI、CI、DIを{}実装します
これは、クラス宣言は、そのクラスが実装を指定したインタフェース名を実装した後ならば、です。 このクラスの相続人は、その要素を取得しますので、彼らはまた、それを販売します。
インタフェース型の変数も許可されています。 彼らは、このインタフェース、またはnullを実装するクラスの型を参照することができます。 オブジェクトはクラスによって生成されるため、このような変数は、Objectクラスのすべての要素を持っている、と彼らは、順番に、Objectクラスから派生します。
抽象クラス、抽象メソッドインタフェース - この記事では、Javaオブジェクトモデルのいくつかの要素を検討しました。
Similar articles
Trending Now