国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ Java &#&はじめる Javaインターフェイスの修飾子は何ですか

Javaインターフェイスの修飾子は何ですか

Jan 04, 2023 pm 01:04 PM
java

Java インターフェースの修飾子は、abstract または Final にすることができます。インターフェイスは特別なクラスとして理解できます。違いは、インターフェイスのメンバーが実行本體を持たず、グローバル定數(shù)とパブリック抽象メソッドで構(gòu)成されている點(diǎn)です。インターフェイスのメソッドはデフォルトでパブリック抽象メソッドであり、変數(shù)を定義できないことです。定數(shù)はインターフェイス內(nèi)で定義できるため (最終的な変更により定數(shù)になります)、インターフェイスのプロパティはデフォルトで public static Final 定數(shù)となり、初期値を割り當(dāng)てる必要があります。

Javaインターフェイスの修飾子は何ですか

#このチュートリアルの動(dòng)作環(huán)境: Windows7 システム、Java8 バージョン、DELL G3 コンピューター。

抽象クラスは複數(shù)のクラスを抽象化したテンプレートですが、この抽象化をさらに徹底すると、より特殊な「抽象クラス」であるインターフェース(Interface)を抽出することができます。インターフェイスは Java の最も重要な概念の 1 つです。特別なクラスとして理解できます。違いは、インターフェイスのメンバーが実行本體を持たず、グローバル定數(shù)とパブリック抽象メソッドで構(gòu)成されることです。

インターフェースの定義

Javaインターフェースの定義は基本的にクラスと同じですが、インターフェース定義で使用するキーワードはinterfaceです。インターフェイス定義の構(gòu)文は次のとおりです。 形式は次のとおりです。

[public] interface interface_name [extends interface1_name[, interface2_name,…]] {
    // 接口體,其中可以包含定義常量和聲明方法
    [public] [static] [final] type constant_name = value;    // 定義常量
    [public] [abstract] returnType method_name(parameter_list);    // 聲明方法
}

上記の構(gòu)文の説明は次のとおりです。

  • public はインターフェイスの修飾子を表します。修飾子がない場(chǎng)合は、デフォルトの修飾子が使用されます。このインターフェイスのアクセス権は、それが屬するパッケージに制限されます。

  • interface_name はインターフェイスの名前を表します。インターフェイス名はクラス名と同じ命名規(guī)則を採(cǎi)用する必要があります。つまり、文法の観點(diǎn)から、インターフェイス名は正當(dāng)な識(shí)別子である必要があるだけです。 Java の可読性仕様に準(zhǔn)拠するには、インターフェイス名は意味のある?yún)g語(yǔ)を連結(jié)し、各単語(yǔ)の最初の文字を大文字にし、単語(yǔ)間に區(qū)切り文字を入れない必要があります。

  • extends はインターフェースの継承関係を表します;

  • interface1_name は継承されるインターフェースの名前を表します;

  • constant_name は変數(shù)名 (通常は靜的で最終的なもの) を表します;

  • ##returnType はメソッドの戻り値の型を表します;
  • #parameter_list はパラメータ リストを表し、インターフェイス內(nèi)のメソッドにはメソッド本體がありません。
  • 注: インターフェイスには複數(shù)の直接の親インターフェイスを持つことができますが、インターフェイスはインターフェイスのみを継承でき、クラスは継承できません。

Java インターフェースの修飾子

インターフェースは非常に重要です。狀況を説明するために、ここでもう少し詳しく説明します。 :

(1) インターフェイスは、システムが外部に提供するすべてのサービスを記述するために使用されるため、インターフェイス內(nèi)のメンバー定數(shù)とメソッドは、外部ユーザーが確実にアクセスできるようにパブリック型である必要があります。

(2) インターフェイスは、システムが実行できることのみを説明しますが、その方法は指定していないため、インターフェイス內(nèi)のメソッドは抽象メソッドです;

(3) インターフェイスは次のことを行います。特定のインスタンスに関連する詳細(xì)は含まれないため、インターフェイスにはコンストラクターはなく、インスタンス化できません。インスタンス変數(shù)はなく、靜的変數(shù)のみです。

(4) インターフェイス內(nèi)の変數(shù)はすべてに共通です。実裝クラス。共通であるため、変更されていない必要があります。変更されたものは共有としてカウントできないためです。したがって、変數(shù)は不変 (最終) 型、つまり定數(shù)です。

(5) インターフェース內(nèi)で変數(shù)を定義できない?インターフェイスで変數(shù)を定義できるが、インターフェイス內(nèi)のメソッドが抽象である場(chǎng)合、インターフェイス內(nèi)の動(dòng)作を通じてプロパティを変更することはできません。インターフェイスを?qū)g裝するオブジェクトの動(dòng)作を通じてインターフェイス內(nèi)のプロパティを変更できるため、それは問(wèn)題ではない、と言う人もいます。もちろんこれで問(wèn)題はありませんが、このような狀況を考慮してください。インターフェイス A にパブリック アクセスを持つ靜的変數(shù) a がある場(chǎng)合。 Java のセマンティクスによれば、インターフェイスを?qū)g裝するオブジェクトを使用せずに変數(shù) a にアクセスでき、A.a = xxx; を通じてインターフェイス內(nèi)の変數(shù) a の値を変更できます。これが抽象クラスで実行できるのと同様に、インターフェイス A を?qū)g裝するすべてのオブジェクトには、変更された a の値が自動(dòng)的に設(shè)定されます。つまり、1 か所で a が変更されると、これらすべてのオブジェクトの a の値も追従します。 。 かわった。これと抽象クラスの違いは何ですか? インターフェースのより高い抽象レベルをどのように反映するか? インターフェースが提供する統(tǒng)一プロトコルをどのように反映するか? では、インターフェースの抽象化は何に使われるのでしょうか?したがって、インターフェース內(nèi)に変數(shù)を出現(xiàn)させることはできず、変數(shù)があるとインターフェースが提供する統(tǒng)一抽象化の考え方と矛盾します。したがって、インターフェイス內(nèi)の屬性は、読み取りのみが可能で変更できない定數(shù)である必要があり、この方法でのみ、インターフェイスを?qū)g裝するオブジェクトに統(tǒng)一された屬性を提供できます。

平たく言えば、何かを変更する必要があると思われる場(chǎng)合は、インターフェイスではなく獨(dú)自の実裝に入れてください。インターフェイスは、あるタイプの屬性と動(dòng)作をより高いレベルで抽象化したものにすぎません。 。変更に対してクローズされ、拡張 (さまざまな実裝) に対してオープンであるインターフェイスは、オープン-クローズの原則の現(xiàn)れです。

つまり:

インターフェイスのデフォルトのメソッドは

public abstract

;

インターフェイスでは変數(shù)を定義できず、定數(shù) (および最終的な変更を加えたもの) のみを定義できます。 )は定數(shù)になります)。したがって、インターフェイスのプロパティはデフォルトで public staticfinal

定數(shù)となり、初期値を割り當(dāng)てる必要があります。

注: Final と Abstract を同時(shí)に使用することはできません。

プログラミング関連の知識(shí)について詳しくは、プログラミング教育をご覧ください。 !

以上がJavaインターフェイスの修飾子は何ですかの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

JDBCを使用してJavaのトランザクションを処理する方法は? JDBCを使用してJavaのトランザクションを処理する方法は? Aug 02, 2025 pm 12:29 PM

JDBCトランザクションを正しく処理するには、最初に自動(dòng)コミットモードをオフにし、次に複數(shù)の操作を?qū)g行し、結(jié)果に応じて最終的にコミットまたはロールバックする必要があります。 1。CONN.SETAUTOCOMMIT(FALSE)を呼び出して、トランザクションを開始します。 2。挿入や更新など、複數(shù)のSQL操作を?qū)g行します。 3。すべての操作が成功した場(chǎng)合はconn.commit()を呼び出し、データの一貫性を確保するために例外が発生した場(chǎng)合はconn.rollback()を呼び出します。同時(shí)に、リソースを使用してリソースを管理し、例外を適切に処理し、接続を密接に接続するために、接続の漏れを避けるために使用する必要があります。さらに、接続プールを使用してセーブポイントを設(shè)定して部分的なロールバックを達(dá)成し、パフォーマンスを改善するためにトランザクションを可能な限り短く保つことをお?jiǎng)幛幛筏蓼埂?/p>

Java仮想マシン(JVM)內(nèi)部の理解 Java仮想マシン(JVM)內(nèi)部の理解 Aug 01, 2025 am 06:31 AM

thejvmenablesjavaの「writeonce、runany where "capabilitybyexcuting byteCodeThethermainComponents:1。theClassLoaderSubSystemloads、links、andinitializes.classfilesusingbootStrap、拡張、およびアプリケーションクラスローロー、

Javaでカレンダーを操作する方法は? Javaでカレンダーを操作する方法は? Aug 02, 2025 am 02:38 AM

Java.Timeパッケージのクラスを使用して、古い日付とカレンダーのクラスを置き換えます。 2。LocalDate、LocalDateTime、LocalTimeを通じて現(xiàn)在の日付と時(shí)刻を取得します。 3。of()メソッドを使用して特定の日付と時(shí)刻を作成します。 4.プラス/マイナスメソッドを使用して、時(shí)間を不正に増加させて短縮します。 5. ZonedDateTimeとZoneIDを使用して、タイムゾーンを処理します。 6。DateTimeFormatterを介したフォーマットおよび解析の文字列。 7.インスタントを使用して、必要に応じて古い日付型と互換性があります?,F(xiàn)代のJavaでの日付処理は、java.timeapiを使用することを優(yōu)先する必要があります。

Javaフレームワークの比較:Spring Boot vs Quarkus vs Micronaut Javaフレームワークの比較:Spring Boot vs Quarkus vs Micronaut Aug 04, 2025 pm 12:48 PM

Pre-formanceTartuptimeMemoryusage、quarkusandmicronautleadduetocopile-timeprocessingingandgraalvsupport、withquarkusoftentylightbetterine serverlessシナリオ。

ネットワークポートとファイアウォールの理解 ネットワークポートとファイアウォールの理解 Aug 01, 2025 am 06:40 AM

ネットワークポートアンドファイアワルクトグテルトエナブルコマニケーションwhiledensuringsecurity.1.networksarevirtualendpointsnumbered0–655 35、withwell-knownportslike80(http)、443(https)、22(ssh)、および25(smtp)識(shí)別pecificservices.2.portsoperateovertcp(信頼できる、c

Garbage CollectionはJavaでどのように機(jī)能しますか? Garbage CollectionはJavaでどのように機(jī)能しますか? Aug 02, 2025 pm 01:55 PM

JavaのGarbage Collection(GC)は、メモリを自動(dòng)的に管理するメカニズムであり、到達(dá)不可能なオブジェクトを取り戻すことでメモリ漏れのリスクを軽減します。 1.GCルートオブジェクトからのオブジェクトのアクセシビリティ(スタック変數(shù)、アクティブスレッド、靜的フィールドなど)、および到達(dá)不可能なオブジェクトはゴミとしてマークされています。 2。マーククリアリングアルゴリズムに基づいて、すべての到達(dá)可能なオブジェクトをマークし、マークのないオブジェクトをクリアします。 3.世代の収集戦略を採(cǎi)用する:新世代(Eden、S0、S1)は頻繁にMinorGCを?qū)g行します。高齢者のパフォーマンスは少なくなりますが、MajorGCを?qū)g行するのに時(shí)間がかかります。 Metaspaceはクラスメタデータを保存します。 4。JVMはさまざまなGCデバイスを提供します。SerialGCは小さなアプリケーションに適しています。 ParallelGCはスループットを改善します。 CMSが減少します

Javaビルドツールの比較:Maven vs. Gradle Javaビルドツールの比較:Maven vs. Gradle Aug 03, 2025 pm 01:36 PM

gradleisthebetterchoiceformostnewprojectoitssuperorfficability、performance、andmoderntoolingsupport.1.gradle’sgroovy/kotlindslismoreconciseandexpressiveethanmaven’sverboseml.2.gradleorformsmavenbenbumebutedwitedwitedwitedspedexは

説明された延期聲明の例で進(jìn)みます 説明された延期聲明の例で進(jìn)みます Aug 02, 2025 am 06:26 AM

Deferは、クリーニングリソースなど、関數(shù)が戻る前に指定された操作を?qū)g行するために使用されます。パラメーターは、延期時(shí)にすぐに評(píng)価され、関數(shù)は最後のファーストアウト(LIFO)の順に実行されます。 1.複數(shù)の債務(wù)は、宣言の逆の順序で実行されます。 2.ファイルの閉鎖などの安全なクリーニングに一般的に使用されます。 3。指定された返品値を変更できます。 4.回復(fù)に適したパニックが発生した場(chǎng)合でも実行されます。 5。リソースの漏れを防ぐために、ループで延期の亂用を避けます。正しい使用により、コードのセキュリティと読みやすさが向上します。

See all articles