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

ホームページ Java &#&チュートリアル キーワード:抽象拡張、インターフェース実裝

キーワード:抽象拡張、インターフェース実裝

Jan 20, 2025 pm 10:20 PM

Java 抽象キーワード

abstract キーワードは、Java で抽象化を?qū)g現(xiàn)するために使用されます。これは、抽象クラスとメソッドを作成するために使用される非アクセス修飾子です。

抽象クラスの役割は、抽象メソッドを含めることです。ただし、非抽象メソッドが含まれる場(chǎng)合もあります。抽象キーワードで宣言され、実裝を持たないメソッドは、抽象メソッドと呼ばれます。

構(gòu)文:-

    abstract class Employee  
    {  
    abstract void work();  
    }   

注 - 非抽象クラスでは抽象メソッドを宣言できません。

抽象キーワードのルール
してはいけないこと

抽象キーワードは変數(shù)やコンストラクターと一緒に使用できません。
クラスが抽象クラスの場(chǎng)合、インスタンス化できません。
メソッドが抽象の場(chǎng)合、メソッドには本體が含まれません。
抽象キーワードをfinalに使用することはできません。
抽象メソッドをプライベートとして宣言することはできません。
抽象メソッドを靜的として宣言することはできません。
抽象メソッドは同期できません。

すべきこと(未定)

抽象キーワードはクラスとメソッドでのみ使用できます。
抽象クラスにはコンストラクターと靜的メソッドを含めることができます。
クラスが抽象クラスを拡張する場(chǎng)合、少なくとも 1 つの抽象メソッドも実裝する必要があります。
抽象クラスには、メイン メソッドと最終メソッドを含めることができます。
抽象クラスには、オーバーロードされた抽象メソッドを含めることができます。
ローカルの內(nèi)部クラスを抽象として宣言できます。
throw 節(jié)を使用して抽象メソッドを宣言できます。

抽象クラスとは:

抽象クラスは、抽象として宣言されたクラスです。抽象メソッドが含まれる場(chǎng)合と含まれない場(chǎng)合があります。抽象クラスはインスタンス化できませんが、サブクラス化することはできます。

抽象メソッドとは:

抽象メソッドは、次のように、実裝なしで (中括弧なしでセミコロンが後に続きます) 宣言されるメソッドです。
abstract void moveTo(double deltaX, double deltaY);

*抽象化: *

その主な目的は、不必要な詳細(xì)をユーザーから隠すことで複雑さに対処することです。

必要なデータのみを表示し、不要な詳細(xì)をユーザーから非表示にします。

抽象クラスには子クラスがあります。 この子クラスは抽象クラスにもできますか?
はい、その場(chǎng)合、Child クラスはインスタンス化できません。

參考:https://www.javatpoint.com/abstract-keyword-in-java

package chennai.velachery;

public abstract class Parent {

    abstract void getJob();

    void studyWell()
    {
        System.out.println("Focus On Maths, Science"); 
    }
    static void display()
    {
        System.out.println("Hi");
    }
    public static void main(String[] args) {
        Parent.display();
//      Parent pp = new Parent(); 
//      pp.display();
//      pp.studyWell(); 
//      pp.getJob();

    }



}

package chennai.velachery;

public class Child extends Parent {


    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Child ch = new Child(); 
        ch.getJob();
        ch.studyWell();
        Child.display();
    }

    @Override //Annotation : Metadata
    //Data about data
    void getJob() {
        // TODO Auto-generated method stub

    }


}

例 2:

package chennai.velachery;

public abstract class Parent1 {

    public void watch_tv()
    {
        System.out.println("Watching TV");
    }
    public void chat_with_friends()
    {
        System.out.println("Chatting with neighbours");
    }
    public abstract void cook(); 

}

package chennai.velachery;

public class Child1 extends Parent1{

    public static void main(String[] args) {
//      Child1 ch = new Child1(); 
//      ch.cook();
//      ch.chat_with_friends(); 
//      ch.watch_tv();
//      ch.work();

        Child1 ch = new Child1(); 
        //Dynamic Binding 
        //Parent Class Reference points to Child class Memory
        Parent1 parent = new Child1();  

        parent.watch_tv();
        parent.chat_with_friends();
        parent.cook();
        //parent.work(); 
    }
    public void watch_tv()
    { //Runtime Polymorphism
        System.out.println("Watching OTT");
    }

    @Override
    public void cook() {
        // TODO Auto-generated method stub
        System.out.println("Cooking");

    }

    public void work()
    {
        System.out.println("Java Projects");
    }

}

Java のインターフェース

Java のインターフェースはクラスの設(shè)計(jì)図です。靜的定數(shù)と抽象メソッドがあります。

Java のインターフェースは抽象化を?qū)g現(xiàn)するメカニズムです。 Java インターフェースには抽象メソッドのみが存在でき、メソッド本體は存在できません。 Java で抽象化と多重継承を?qū)g現(xiàn)するために使用されます。

言い換えれば、インターフェースは抽象メソッドと変數(shù)を持つことができると言えます。メソッド本體を含めることはできません。

Java インターフェイスは、IS-A 関係も表します。

抽象クラスと同様にインスタンス化することはできません。

なぜ Java インターフェースを使用するのですか?

インターフェースを使用する理由は主に 3 つあります。それらを以下に示します。

Image description

インターフェースを宣言するには?

インターフェイスは、interface キーワードを使用して宣言されます。それは完全な抽象化を提供します。これは、インターフェイス內(nèi)のすべてのメソッドが空の本體で宣言され、すべてのフィールドがデフォルトで public、static、final であることを意味します。インターフェイスを?qū)g裝するクラスは、インターフェイスで宣言されたすべてのメソッドを?qū)g裝する必要があります。

*インターフェース: *

インターフェースは、空の本體を持つ関連メソッドのグループです
100% 抽象化:

構(gòu)文:

    abstract class Employee  
    {  
    abstract void work();  
    }   

例:

package chennai.velachery;

public abstract class Parent {

    abstract void getJob();

    void studyWell()
    {
        System.out.println("Focus On Maths, Science"); 
    }
    static void display()
    {
        System.out.println("Hi");
    }
    public static void main(String[] args) {
        Parent.display();
//      Parent pp = new Parent(); 
//      pp.display();
//      pp.studyWell(); 
//      pp.getJob();

    }



}

參考:https://www.javatpoint.com/interface-in-java

Java での拡張と実裝:

Java では、extends キーワードは親クラスのすべてのプロパティとメソッドを継承するために使用され、implements キーワードはインターフェイスで定義されたメソッドを?qū)g裝するために使用されます。

**
extends とimplements の違い キーワード**

Image description

Java の「拡張」キーワード

Java では、extends キーワードは、定義されているクラスが継承を使用して基本クラスから派生していることを示すために使用されます。基本的に、extends キーワードは、親クラスの機(jī)能をサブクラスに拡張するために使用されます。 Java では、あいまいさのため多重継承は許可されません。したがって、あいまいさを避けるために、クラスは 1 つのクラスのみを拡張できます。

package chennai.velachery;

public class Child extends Parent {


    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Child ch = new Child(); 
        ch.getJob();
        ch.studyWell();
        Child.display();
    }

    @Override //Annotation : Metadata
    //Data about data
    void getJob() {
        // TODO Auto-generated method stub

    }


}

Java の「実裝」キーワード

Java では、implements キーワードを使用してインターフェイスを?qū)g裝します。インターフェイスは、完全な抽象化を?qū)g裝し、抽象メソッドのみを含む特別なタイプのクラスです。インターフェイス メソッドにアクセスするには、インターフェイスは、implements キーワードを使用して別のクラスによって「実裝」され、インターフェイスのプロパティを継承するクラスにメソッドが実裝される必要があります。インターフェイスにはメソッドが実裝されていないため、クラスは一度に任意の數(shù)のインターフェイスを?qū)g裝できます。

/

package chennai.velachery;

public abstract class Parent1 {

    public void watch_tv()
    {
        System.out.println("Watching TV");
    }
    public void chat_with_friends()
    {
        System.out.println("Chatting with neighbours");
    }
    public abstract void cook(); 

}

參考:https://www.geeksforgeeks.org/extends-vs-implements-in-java/

例:

    abstract class Employee  
    {  
    abstract void work();  
    }   

package chennai.velachery;

public abstract class Parent {

    abstract void getJob();

    void studyWell()
    {
        System.out.println("Focus On Maths, Science"); 
    }
    static void display()
    {
        System.out.println("Hi");
    }
    public static void main(String[] args) {
        Parent.display();
//      Parent pp = new Parent(); 
//      pp.display();
//      pp.studyWell(); 
//      pp.getJob();

    }



}

抽象クラス u>
0 ~ 100% の抽象化

抽象キーワード

非靜的変數(shù)

存在することができます

*
*vs インターフェース 100% 抽象化
抽象的なキーワードはありません
すべての変數(shù)は靜的です。
最終および公開(kāi)

以上がキーワード:抽象拡張、インターフェース実裝の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

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

ホットAIツール

Undress AI Tool

Undress AI Tool

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

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン 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)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ハッシュマップとハッシュテーブルの違いは? ハッシュマップとハッシュテーブルの違いは? Jun 24, 2025 pm 09:41 PM

ハッシュマップとハッシュテーブルの違いは、主にスレッドの安全性、ヌル価値のサポート、パフォーマンスに反映されます。 1.スレッドの安全性の観點(diǎn)から、ハッシュテーブルはスレッドセーフであり、その方法はほとんど同期メソッドであり、ハッシュマップはスレッドセーフではない同期処理を?qū)g行しません。 2。ヌル値のサポートに関しては、ハッシュマップは1つのnullキーと複數(shù)のヌル値を許可しますが、ハッシュテーブルはnullキーや値を許可しません。 3.パフォーマンスの観點(diǎn)から、ハッシュマップは同期メカニズムがないため、より効率的です。ハッシュテーブルは、各操作のロックパフォーマンスが低いです。代わりにconcurrenthashmapを使用することをお?jiǎng)幛幛筏蓼埂?/p>

なぜラッパークラスが必要なのですか? なぜラッパークラスが必要なのですか? Jun 28, 2025 am 01:01 AM

Javaは、基本的なデータ型がオブジェクト指向の操作に直接參加できないため、ラッパークラスを使用し、実際のニーズでオブジェクトフォームが必要になることが多いためです。 1.コレクションクラスは、リストが自動(dòng)ボクシングを使用して數(shù)値を保存するなど、オブジェクトのみを保存できます。 2。ジェネリックは基本的なタイプをサポートしておらず、パッケージングクラスはタイプパラメーターとして使用する必要があります。 3.パッケージングクラスは、null値を表して、データまたは欠落データを區(qū)別できます。 4.パッケージングクラスは、データの解析と処理を容易にするための文字列変換などの実用的な方法を提供するため、これらの特性が必要なシナリオでは、パッケージングクラスは不可欠です。

インターフェイスの靜的メソッドとは何ですか? インターフェイスの靜的メソッドとは何ですか? Jun 24, 2025 pm 10:57 PM

StaticMethodsinInterfaceswereIntroducatedinjava8toalowutilityは、interfaceitself.beforejava8、そのような導(dǎo)入のために導(dǎo)入されたコード、rediveTodisorgedCode.now、statecmethodssprovidreebenefits:1)彼らの可能性のある測(cè)定di

JITコンパイラはどのようにコードを最適化しますか? JITコンパイラはどのようにコードを最適化しますか? Jun 24, 2025 pm 10:45 PM

JITコンパイラは、メソッドインライン、ホットスポット検出とコンピレーション、タイプの投機(jī)と偏見(jiàn)、冗長(zhǎng)操作の排除の4つの方法を通じてコードを最適化します。 1。メソッドインラインで呼び出しのオーバーヘッドを減らし、頻繁に小さな方法と呼ばれる挿入をコールに直接直接挿入します。 2。ホットスポットの検出と高周波コードの実行とそれを中央に最適化して、リソースを節(jié)約します。 3。タイプ投機(jī)は、敬v的な呼び出しを達(dá)成するためにランタイムタイプ情報(bào)を収集し、効率を向上させます。 4.冗長(zhǎng)操作は、運(yùn)用データの削除に基づいて役に立たない計(jì)算と検査を排除し、パフォーマンスを向上させます。

インスタンスイニシャルイザーブロックとは何ですか? インスタンスイニシャルイザーブロックとは何ですか? Jun 25, 2025 pm 12:21 PM

インスタンス初期化ブロックは、Javaで使用され、コンストラクターの前に実行されるオブジェクトを作成するときに初期化ロジックを?qū)g行します。複數(shù)のコンストラクターが初期化コード、複雑なフィールド初期化、または匿名のクラス初期化シナリオを共有するシナリオに適しています。靜的初期化ブロックとは異なり、インスタンス化されるたびに実行されますが、靜的初期化ブロックはクラスがロードされたときに1回のみ実行されます。

変數(shù)の「ファイナル」キーワードは何ですか? 変數(shù)の「ファイナル」キーワードは何ですか? Jun 24, 2025 pm 07:29 PM

Injava、thefinalkeywordpreventsavariaibleのValue frombeingededafterassignment、ButiTsbehiviordiffersforprimitivesandobjectReferences

工場(chǎng)のパターンとは何ですか? 工場(chǎng)のパターンとは何ですか? Jun 24, 2025 pm 11:29 PM

ファクトリーモードは、オブジェクトの作成ロジックをカプセル化するために使用され、コードをより柔軟でメンテナンスしやすく、ゆるく結(jié)合します。コアの答えは、オブジェクトの作成ロジックを一元的に管理し、実裝の詳細(xì)を隠し、複數(shù)の関連オブジェクトの作成をサポートすることです。特定の説明は次のとおりです。工場(chǎng)モードは、NewClass()の使用を直接回避し、処理のための特別な工場(chǎng)クラスまたは方法にオブジェクトの作成を手渡します。複數(shù)のタイプの関連オブジェクトが作成され、作成ロジックが変更され、実裝の詳細(xì)を非表示にする必要があるシナリオに適しています。たとえば、支払いプロセッサでは、Stripe、PayPal、その他のインスタンスが工場(chǎng)を通じて作成されます。その実裝には、入力パラメーターに基づいて工場(chǎng)クラスによって返されるオブジェクトが含まれ、すべてのオブジェクトは共通のインターフェイスを?qū)g現(xiàn)します。一般的なバリアントには、単純な工場(chǎng)、工場(chǎng)法、抽象的な工場(chǎng)が含まれます。これらは異なる複雑さに適しています。

タイプキャストとは何ですか? タイプキャストとは何ですか? Jun 24, 2025 pm 11:09 PM

変換には、暗黙的で明示的な変換には2つのタイプがあります。 1.暗黙的な変換は、INTを2倍に変換するなど、自動(dòng)的に発生します。 2。明示的な変換には、(int)mydoubleの使用など、手動(dòng)操作が必要です。タイプ変換が必要な場(chǎng)合には、ユーザー入力の処理、數(shù)學(xué)操作、または関數(shù)間のさまざまなタイプの値の渡されます。注意する必要がある問(wèn)題は次のとおりです。浮動(dòng)小數(shù)點(diǎn)數(shù)を整數(shù)に変換すると、分?jǐn)?shù)部分が切り捨てられ、大きなタイプを小さなタイプに変えるとデータの損失につながる可能性があり、一部の言語(yǔ)では特定のタイプの直接変換ができません。言語(yǔ)変換ルールを適切に理解することは、エラーを回避するのに役立ちます。

See all articles