国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java面向對象學習筆記-3

這篇具有很好參考價值的文章主要介紹了Java面向對象學習筆記-3。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

本文將介紹Java編程中的一些基本概念和用法,包括類、接口、抽象類、繼承、多態(tài)和組合等。通過代碼示例,我們將深入探討這些概念,幫助讀者更好地理解如何使用Java進行面向對象編程。

Java面向對象學習筆記-1
Java面向對象學習筆記-2

紙張和墨盒類

我們首先來看紙張和墨盒類,它們是打印機的重要組成部分。

A4Paper 和 B5Paper

package cn.dfjy.demo.entity;

// A4紙張
public class A4Paper implements IPaper {
    @Override
    public String size() {
        return "A4紙張";
    }
}

package cn.dfjy.demo.entity;

// B5紙張
public class B5Paper implements IPaper {
    @Override
    public String size() {
        return "B5紙張";
    }
}

BlankInk 和 ColorInk

  • BlankInkColorInk 代表不同類型的墨盒,并都實現了 IInk 接口。
package cn.dfjy.demo.entity;

// 黑白墨盒
public class BlankInk implements IInk {
    @Override
    public String color() {
        return "黑白墨盒";
    }
}

package cn.dfjy.demo.entity;

// 彩色墨盒
public class ColorInk implements IInk {
    @Override
    public String color() {
        return "彩色墨盒";
    }
}

抽象類和繼承

接下來,讓我們研究抽象類和繼承的概念。

Door 抽象類

  • Door 是一個抽象類,定義了門的基本行為,演示了抽象類的概念
package cn.dfjy.demo.entity;

// 門(is a)
public abstract class Door {
    public abstract void open();
    public abstract void close();
}

Mother、Father 和 Son

  • MotherFatherSon 是簡單的類,演示了Java中的單繼承概念。
package cn.dfjy.demo.entity;

public class Mother {
}

package cn.dfjy.demo.entity;

public class Father {
}

package cn.dfjy.demo.entity;

// 在java的語法體系中,是不支持多繼承的
public class Son extends Father {
}

接口

接口是Java中非常重要的概念,用于定義規(guī)范和契約。

Iii 接口

  • Iii 是一個接口,包含一個常量和一個抽象方法。
package cn.dfjy.demo.entity;

public interface Iii {
    int A = 413; // 屬性其實是常量 public static final

    void f1(); // 方法其實是共有抽象 public abstract

    //public Iii(){} // 沒有構造方法
}

IPaper 和 IInk 接口

  • IPaperIInk 分別表示紙張和墨盒的接口,具有特定的方法。
package cn.dfjy.demo.entity;

// 紙張的接口
public interface IPaper {
    String size();
}

package cn.dfjy.demo.entity;

public interface IInk {
    String color();
}

Locker 和 Photograph 接口

  • LockerPhotograph 接口,分別表示鎖和能夠拍照的設備的行為。
package cn.dfjy.demo.entity;

// 鎖(has a)
public interface Locker {
    // 可推導,可省略。沒有寫public abstract,也有。
    void lock();
    void unlock();
}

package cn.dfjy.demo.entity;

// 拍照(has a)
public interface Photograph {
    void take();
}

實現類

接下來,我們將介紹一個類,它繼承自 Door 并實現了 LockerPhotograph 接口,演示了Java中多接口實現的概念。

ThiefProventDoor 類

package cn.dfjy.demo.entity;

// 它本質上,類同于C++的多繼承
public class ThiefProventDoor extends Door implements Locker, Photograph {
    @Override
    public void open() {
        System.out.println("開門");
    }

    @Override
    public void close() {
        System.out.println("關門");
    }

    @Override
    public void lock() {
        System.out.println("左轉三圈,上鎖");
    }

    @Override
    public void unlock() {
        System.out.println("右轉三圈,解鎖");
    }

    @Override
    public void take() {
        System.out.println("默默地拍照一張");
    }
}

打印機類

最后,讓我們介紹一個表示打印機的類,演示組合和多態(tài)的概念。

Printer 類

package cn.dfjy.demo.entity;

public class Printer {
    // 屬性上多態(tài)
    private IInk ink;
    private IPaper paper;

    public Printer() {
    }

    public Printer(IInk ink, IPaper paper) {
        this.ink = ink;
        this.paper = paper;
    }

    public IInk getInk() {
        return ink;
    }

    public void setInk(IInk ink) {
        this.ink = ink;
    }

    public IPaper getPaper() {
        return paper;
    }

    public void setPaper(IPaper paper) {
        this.paper = paper;
    }

    @Override
    public String toString() {
        return "使用" + ink.color() + "在" + paper.size() + "上打印。";
    }
}

示例代碼

以下是幾個使用上述類和接口的示例代碼:

示例 1:使用 ThiefProventDoor

package cn.dfjy.demo.test;

import cn.dfjy.demo.entity.ThiefProventDoor;

public class Demo01 {
    public static void main(String[] args) {
        ThiefProventDoor thiefProventDoor = new ThiefProventDoor();
        System.out.println("上班");
        thiefProventDoor.open();
        thiefProventDoor.close();
        thiefProventDoor.lock();
        System.out.println("下班回家");
        thiefProventDoor.unlock();
        thiefProventDoor.take();
        thiefProventDoor.open();
        thiefProventDoor.close();
    }
}
  • Demo01 示例展示了如何使用 ThiefProventDoor 類,模擬上班、下班回家、開門、關門等操作。

示例 2:訪問接口常量

package cn.dfjy.demo.test;

import cn.dfjy.demo.entity.Iii;

public class Demo02 {
    public static void main(String[] args) {
        System.out.println(Iii.A);
    }
}
  • Demo02 示例演示了如何訪問接口中的常量 A。

示例 3:使用 Printer 類

package cn.dfjy.demo.test;

import cn.dfjy.demo.entity.*;

public class Demo03 {
    public static void main(String[] args) {
        // 買個整機
        Printer printer = new Printer(new ColorInk(), new A4Paper());
        System.out.println(printer);

        // 更換紙張和墨盒
        printer.setInk(new BlankInk());
        printer.setPaper(new B5Paper());
        System.out.println(printer);
    }
}
  • Demo03 示例展示了如何使用 Printer 類,構建具有不同墨盒和紙張組合的打印機,并打印相關信息。

總結

本文中,我們深入研究了Java編程中的關鍵概念,包括類、接口、抽象類、繼承、多態(tài)和組合。我們通過代碼示例演示了如何創(chuàng)建和使用這些概念,以及它們在面向對象編程中的重要性。理解這些概念是成為Java開發(fā)人員的關鍵一步,它們?yōu)闃嫿`活和可維護的應用程序提供了基礎。希望本文能夠幫助讀者更好地掌握Java編程的基礎知識,并在實際項目中應用它們。

當涉及到Java編程中的面向對象概念時,還有許多相關知識可以進一步拓展。下面是一些可能的拓展方向:

  1. 封裝(Encapsulation):封裝是面向對象編程的基本原則之一,它通過隱藏實現細節(jié)并提供公共接口來保護數據和方法。了解如何使用Java中的訪問修飾符(public、private、protected等)來實現封裝。

  2. 繼承(Inheritance):繼承允許從一個類派生出一個新類,并繼承父類的屬性和方法。了解如何使用extends關鍵字創(chuàng)建子類,并學習如何重寫和調用父類的方法。

  3. 多態(tài)(Polymorphism):多態(tài)是指同一類型的對象在不同情況下表現出不同的行為。了解如何使用方法重載和方法重寫來實現多態(tài)性,并學習如何使用父類引用指向子類對象。

  4. 接口(Interface):接口定義了一組方法的規(guī)范,而不提供其具體實現。了解如何使用接口來實現類之間的協議和多態(tài)性,并學習如何在類中實現多個接口。

  5. 抽象類(Abstract Class):抽象類是不能被實例化的類,它提供了一種用于派生其他類的基礎。了解如何定義和使用抽象類,以及與接口之間的區(qū)別。

  6. 異常處理(Exception Handling):異常處理是用于處理程序運行時出現的錯誤或異常情況的機制。學習如何使用try-catch塊和throw關鍵字來捕獲和處理異常。

  7. 包(Package):包是一種組織和管理類的方式,它將相關的類放在一個命名空間下。了解如何創(chuàng)建和使用包,以及如何進行包之間的訪問控制。

  8. 線程(Thread):線程是程序執(zhí)行的單個順序流,它可以并發(fā)地執(zhí)行多個任務。了解如何創(chuàng)建和管理線程,以及如何處理線程同步和互斥的問題。

  9. 泛型(Generics):泛型允許在編譯時指定類型參數,從而增加代碼的類型安全性和復用性。了解如何使用泛型類、泛型方法和通配符來編寫更靈活和可重用的代碼。

  10. 注解(Annotation):注解提供了一種在代碼中添加元數據的方式,它們可以提供編譯器和工具使用的信息。了解如何創(chuàng)建和使用注解,并學習一些常見的內置注解。

這些拓展方向將幫助你深入了解Java編程中的面向對象概念,并拓展你的知識和技能。通過深入學習這些概念,你將能夠更好地理解和應用Java編程語言。文章來源地址http://www.zghlxwxcb.cn/news/detail-706150.html

到了這里,關于Java面向對象學習筆記-3的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Java面向對象學習筆記-4

    當編寫Java程序時,了解如何處理異常是至關重要的。異常處理可以幫助我們在程序執(zhí)行過程中處理各種錯誤情況,以確保程序能夠正常運行或者 graceful 地退出。本文將介紹一些關于Java異常處理的基本概念和最佳實踐,包括自定義異常類、用戶輸入的處理、異常捕獲與處理、

    2024年02月09日
    瀏覽(21)
  • 【狂神說Java】Java零基礎學習筆記-面向對象

    【狂神說Java】Java零基礎學習筆記-面向對象

    面向過程思想 步驟清晰簡單,第一步做什么,第二步做什么.... 面對過程適合處理一些較為簡單的問題 面向對象思想 物以類聚, 分類 的思維模式,思考問題首先會解決問題需要哪些分類,然后對這些分類進行單獨思考。最后,才對某個分類下的細節(jié)進行面向過程的思索。

    2024年02月12日
    瀏覽(22)
  • 8.面向對象編程(中級部分)|Java學習筆記

    8.面向對象編程(中級部分)|Java學習筆記

    刪除當前行, 默認是 ctrl + Y 自己配置 ctrl + d 復制當前行, 自己配置 ctrl + alt + 向下光標 補全代碼 alt + / 添加注釋和取消注釋 ctrl + / 【第一次是添加注釋,第二次是取消注釋】 導入該行需要的類 先配置 auto import , 然后使用 alt+enter 即可 快速格式化代碼 ctrl + alt + L 快速運行程序

    2024年02月08日
    瀏覽(69)
  • 7.面向對象編程(基礎部分)|Java學習筆記

    7.面向對象編程(基礎部分)|Java學習筆記

    java 設計者 引入 類與對象(OOP) ,根本原因就是現有的技術,不能完美的解決新的新的需求. 類是抽象的,概念的,代表一類事物,比如人類,貓類…, 即它是數據類型. 對象是具體的,實際的,代表一個具體事物, 即 是實例. 類是對象的模板,對象是類的一個個體,對應一個實例

    2024年02月08日
    瀏覽(54)
  • 【Java】小白友好的面向對象編程學習筆記

    目錄 OOP介紹 類和對象 方法參數 靜態(tài) 包和import 構造方法 多態(tài) 訪問權限 內部類 抽象 接口 枚舉 匿名類 bean類 作用域 Java 是一種面向對象的編程語言,面向對象編程(Object-Oriented Programming,簡稱 OOP)是一種程序設計思想,它將現實世界中的事物抽象為對象,通過封裝、繼承

    2024年01月20日
    瀏覽(20)
  • 《Java面向對象程序設計》學習筆記——CSV文件的讀寫與處理

    ?筆記匯總: 《Java面向對象程序設計》學習筆記 筆記記錄的不是非常詳實,如果有補充的建議或糾錯,請踴躍評論留言?。?! CSV 是英文 comma-separated values 的縮寫,翻譯為 “逗號分隔值“。 CSV 文件可以理解為以帶逗號分隔(也可以是其他簡單字符分割)的純文本形式存儲

    2024年02月10日
    瀏覽(21)
  • 《Java面向對象程序設計》學習筆記——第 12 章 輸入流與輸出流

    《Java面向對象程序設計》學習筆記——第 12 章 輸入流與輸出流

    ?筆記匯總: 《Java面向對象程序設計》學習筆記 File 對象主要用來獲取文件本身的一些信息,例如文件所在的目錄、文件的長度和文件的讀/寫權限等,不涉及對文件的讀/寫操作。 創(chuàng)建 File 對象的構造方法有以下 3 個: 其中, filename 是文件名字 ,directoryPath 是文件的路徑,

    2024年02月11日
    瀏覽(20)
  • 【從零開始學習JAVA | 第十五篇】 多態(tài)

    【從零開始學習JAVA | 第十五篇】 多態(tài)

    本篇我們來解釋一下什么是多態(tài)關系,多態(tài)關系屬于面向對象三大特征的最后一個,可以說面向對象的重點就在多態(tài),因此我們要學好面向對象編程思想,就要學好多態(tài)。 ????????Java中的多態(tài)是指 同一類對象在不同情況下可能表現出不同的形態(tài)和行為。 它包括了 方法重

    2024年02月10日
    瀏覽(23)
  • 【從零開始學習JAVA | 第三十篇】方法引用

    【從零開始學習JAVA | 第三十篇】方法引用

    目錄 前言: 方法引用: 方法引用基本概念: 方法可以被引用的條件: 方法引用的種類: 方法引用的優(yōu)點: 總結: 方法引用作為一個重要的知識點,雖然他使用起來很復雜,而且會降低代碼的可讀性,但是如果用好了方法引用,我們也會獲得不錯的效率,因此我們在今天

    2024年02月15日
    瀏覽(93)
  • 【從零開始學習JAVA | 第十八篇】接口介紹

    【從零開始學習JAVA | 第十八篇】接口介紹

    目錄 前言: 接口: 如何定義一個接口: 如何使用一個接口: 接口中成員的特點: 接口與類的區(qū)別:?? 接口的應用: 總結: ????????接口其實是為了彌補繼承的缺點: 我們無法讓父類完美的適應每一個子類的要求 。 例如我們有一個動物類的父類,有一個蝌蚪類,魚

    2024年02月10日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包