Java バージョン間のインターフェース構文の相違点と、抽象クラスとインターフェース間の類似点および相違点
インターフェースとは何ですか?
インターフェースといえば、USB は誰もがよく知っています~
インターフェースは標準であり仕様です。
注: インターフェースが策定された後は、ユーザーと実装者の両方が標準に従う必要があります。
インターフェース構文: (JDK7.0)
(1) キーワード: インターフェース
(2) 構文: インターフェース インターフェース名{}
( 3) インターフェイスがコンパイルされると、対応する .class ファイルが生成されます
(4) インターフェイスはオブジェクトを作成できませんが、インターフェイス名への参照を宣言できます;
(5) コンストラクター メソッドはありませんインターフェイス内
(6 ) インターフェイス内のすべてのプロパティは public static 定数です
(デフォルトは public static Final)
(7) インターフェイス内のすべてのメソッドは public abstract メソッドです
(デフォルトは: パブリック抽象変更)
注: インターフェース内のメソッドのデフォルトのアクセス許可は public です;
クラス内のメソッドのデフォルトのアクセス許可はデフォルトです
インターフェースの実装クラス:
構文:
class クラス名implements インターフェース名 {}
注:implementation のキーワードはimplements
(1) 実装クラスの場合抽象クラスになりたくないので、インターフェースを上書き (実装) する必要があります。 すべてのメソッド
(2) 実装クラスがインターフェース内のメソッドをオーバーライドする場合、アクセス許可は public である必要があります
Use:
(1) インタフェース型の参照には、対応する実装クラスのオブジェクトのみを格納可能 多態性アプリケーションの反映
(2) 構文:
インタフェース名参照名 = 新しい実装クラスname (実際のパラメータ);
注: インターフェイス 複数の実装クラスを定義できます
インターフェイスの継承: (非常に重要~)
インターフェイス間の関係は多重継承です。
(1) インターフェイスです。複数の親インターフェイスを同時に継承できます。
(2) 構文:
インターフェイス インターフェイス名は、親インターフェイスを拡張します。名前 1、親インターフェース名 2{}
クラスとインターフェース間の関係は複数実装です
(1) クラスは複数のインターフェースを同時に実装できます
(2) 構文:
class class Nameimplements インターフェース名 1, インターフェース名 2 {}
(3) クラスが複数のインターフェースを実装する場合、同時に、抽象クラスになりたくない場合は、すべてのインターフェイスのすべてのメソッドを実装する必要があります
(インターフェイスを実装する親インターフェイスのすべてのメソッドを含む)
クラスは複数のインターフェイスを実装できます同時にクラスを継承する
#(1) クラスが親クラスを継承し、同時に複数のインターフェイスを実装する場合、最初に継承してから実装する必要があります (2)構文:クラス クラス名は親クラス名を拡張し、親インターフェイス 1、親インターフェイス 2 を実装します{}注: 最初に拡張してから
## を実装する必要があります#クラス間の存在: 単一継承----extends
クラスとインターフェース間の存在: 複数の実装--- ----implements
インターフェース間に存在: 多重継承--- ---extends
インターフェイスの影響:
1. インターフェイスはクラスとインターフェイス間の多重継承と多重実装の関係により、ポリモーフィズムをより多様かつ複雑にします。 2. 強制的な型変換の 2 つの当事者のうちの 1 つだけがインターフェイス型である場合、コンパイルは確実に成功し、実行されます。 状況は 2 つあります:
a. 変換された参照に格納されている実際のオブジェクト型がいずれかの型である場合b. 変換された参照に格納されている実際のオブジェクト型が変換される型ではない場合、コンパイルは成功しますが、実行時にエラーが報告され、エラー メッセージ: Java.lang.ClassCastException (型変換例外)
インターフェースの構文: (JDK8.0)
(1) デフォルトのメソッド:
// メソッドの実装部分
}d. デフォルトのメソッドはオーバーライドできますが、オーバーライドされたときのアクセス修飾子は public
b . 注: インターフェース内のメソッドはデフォルトで表されます。
c. デフォルトのメソッドのアクセス権限は public です
(2) 静的メソッド:
# b. 静的アクセス権インターフェイス内のメソッドは public(2) 構文:#インターフェイスの構文: (JDK9.0)—(プライベート メソッド)
(1) インターフェイスでは、9.0 以降、メソッドを次のように指定できます。 updated by private
private 戻り値型メソッド名 (仮引数リスト) {
// メソッド実装}
(3) プライベート メソッドはインターフェイスの内部使用に使用され、通常はコードの冗長性を減らすために他のメソッドの共通ロジック部分を抽出します。
インターフェイスの分類
定数インターフェイス:
インターフェイスには属性のみがあり、メソッドはなく、アプリケーションはほとんどありません。
空のインターフェイス:
通常はマーク インターフェイスと呼ばれ、属性や抽象化はありません。インターフェイス内;
例: IO オブジェクトをシリアル化するときは
関数型インターフェイスを使用します:
インターフェイスには抽象メソッドが 1 つだけあります (静的でデフォルトでは関係ありません)。ラムダ式で広く使用されています
抽象クラスとインターフェイスの違いは何ですか? (覚えておいてください~)
以上がJava バージョン間のインターフェース構文の相違点と、抽象クラスとインターフェース間の類似点および相違点の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

Java のアームストロング番号に関するガイド。ここでは、Java でのアームストロング数の概要とコードの一部について説明します。

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです
