【初始類和對象】(實例講解!超級詳細!)

【初始類和對象】

  • 前言
  • 1. 面向對象的初步認知
    • 1.1什么是面向對象
    • 1.2 面向對象與面向過程
  • 2. 類的定義和使用
    • 2.1 簡單認識類
    • 2.2 類的定義格式
  • 3. 知識的代碼舉例講解
    • 3.1 創建類、實例化類
    • 3.2 構造方法初始化類、this
  • 3. 總結

前言

由于類和對象是我們在學習過程中需要接受的概念性新知識,所以我會先帶大家簡單理解一下類和對象的基本概念,然后直接通過代碼舉例來深入學習,最后總結知識。以此達到更好的學習效果!
在這里插入圖片描述
正文開始!!!

1. 面向對象的初步認知

1.1什么是面向對象

Java是一門純面向對象的語言(Object Oriented Program,簡稱OOP),在面向對象的世界里,一切皆為對象。面向對象是解決問題的一種思想,主要依靠對象之間的交互完成一件事情。用面向對象的思想來涉及程序,更符合人們對事物的認知,對于大型程序的設計、擴展以及維護都非常友好。

1.2 面向對象與面向過程

下面通過洗衣服的例子向大家解釋面向對象和面向過程兩個概念。
在這里插入圖片描述

傳統的洗衣過程(面向過程)傳統的方式:注重的是洗衣服的過程,少了一個環節可能都不行。而且不同衣服洗的方式,時間長度,擰干方式都不同,處理起來就比較麻煩。如果將來要洗鞋子,那就是另一種放方式。按照該種方式來寫代碼,將來擴展或者維護起來會比較麻煩。
現代化的洗衣(面向對象)以面向對象方式來進行處理,就不關注洗衣服的過程,具體洗衣機是怎么來洗衣服,如何來甩干的,用戶不用去關心,只需要將衣服放進洗衣機,倒入洗衣粉,啟動開關即可,通過對象之間的交互來完成的。

注意:面向過程和面相對象并不是一門語言,而是解決問題的方法,沒有那個好壞之分,都有其專門的應用場景。

2. 類的定義和使用

2.1 簡單認識類

類是用來對一個實體(對象)來進行描述的,主要描述該實體(對象)具有哪些屬性(外觀尺寸等),哪些功能(用來干啥),描述完成后計算機就可以識別了。

在這里插入圖片描述

2.2 類的定義格式

上述我們對狗進行了描述,那么我們應該如何使用Java語言對類進行定義呢?

//創造類
class Dog(){
//字段(屬性)或成員變量public String name;public int age;public String color;
//行為或成員方法public void test(){System.out.println("小狗乖乖,小狗乖乖~");}
}

class 是創造類的關鍵詞,Dog 是類的名字,{ } 內的是類的主體
類中包含的內容稱為類的成員。屬性主要是用來描述類的,稱之為類的成員屬性或者類成員變量。方法主要說明類具有哪些功能,稱為類的成員方法

3. 知識的代碼舉例講解

3.1 創建類、實例化類

在這里插入圖片描述
上述的完整代碼如下:

public class Dog {//成員變量public String name;public int age;public String color;//普通方法public void test(){System.out.println("小狗乖乖,小狗乖乖~");}//普通方法public void printDog(){System.out.println(name+this.age+"歲了,是只"+color+"的小狗");這里使用或者不適用“this.”都可以}public static void main(String[] args) {//利用關鍵詞new實例化一個對象Dog dog=new Dog();//訪問對象中的成員變量dog.name="紅包";dog.age=2;dog.color="黃色";//訪問對象中的成員方法//測試dog.test();//打印對象dog.printDog();
}

在這里插入圖片描述

3.2 構造方法初始化類、this

介紹構造方法
在這里插入圖片描述

構造方法的重載

在這里插入圖片描述

補充:this 的三種用法

在這里插入圖片描述

3. 總結

在這里插入圖片描述
我們回到文章開頭的學習目標:

定義類的語法:
class(關鍵字) Dog(類名){
成員變量;
成員方法
}

創建對象:
Dog(類名) dog(對象名)=new(關鍵字) Dog();
//()中如何書寫取決去其構造方法,若未書寫構造方法,編譯器會自動為該類生成一個默認的無參構造方法。使用()就行

訪問成員變量和成員方法:
使用 . 來訪問
dog.name;
dog.test();

this 的用法:
在這里插入圖片描述

構造方法目的就是完成初始化:
public Dog(必須和類名相同){
完成初始化;
}
//若未書寫構造方法,這個默認構造方法不包含任何代碼,只是簡單地調用父類的無參構造方法。因此,即使一個類沒有聲明構造方法,程序也可以正確執行。
此時,引用類型被初始化為NULL,基本類型被初始化為0

🆗!這篇文章到此結束!!!希望對大家有所幫助!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/10133.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/10133.shtml
英文地址,請注明出處:http://en.pswp.cn/web/10133.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI賦能未來教育:中國教學科研新藍圖

設“人啊 前言 回顧過去,傳統的教育模式以知識灌輸和應試為主,雖培養出大量人才,但也存在著學生創新能力不足、實踐經驗缺乏等問題。隨著時代的進步和科技的發展,傳統教育模式已難以滿足當今社會對人才的需求。然而,當…

LoadIncrementalHFiles 流程和原理

目錄 1. HBase Bulk Load 簡介 2. 流程 3. 原理 4. 使用注意事項 5.補充說明之"什么是移動文件" 1. HBase Bulk Load 簡介 LoadIncrementalHFiles是用于HBase的Bulk Load工具,允許用戶高效地將大量數據直接加載到HBase表中,而不是使用傳…

中國現代十大杰出人物顏廷利:好的司機不如好的同機

找好‘同機’者, 要比找好‘司機’者, 原因就是, ‘司機’雖好, 但不是‘同路人’, 再多努力的攀附都是徒勞, 至于‘同機’者, 即便是對方在自己的眼里心中都一無是處, 只不過, 他/她才是您旅途之中, 真真正正、風雨同舟的人…(升命學說) 21世紀東方哲學家思想家、科學家、當代…

孩子學編程和不學編程的差距?

隨著信息技術的飛速發展,編程已經成為一項非常重要的技能,不僅僅是在計算機領域,而且在各個行業都有著廣泛的應用。因此,讓孩子學習編程已經成為很多家長的選擇。那么,孩子學習編程和不學習編程之間有哪些差距呢&#…

TODESK遠控快捷鍵在哪里

在當今高度數字化的世界中,遠程工作和協作已經成為日常生活和業務運營的重要組成部分。Todesk作為一款出色的遠程協作軟件,為用戶提供了諸多功能,以確保流暢、高效的遠程連接體驗。其中,快捷鍵功能極大地提升了用戶的操作便捷性。…

高速、簡單、安全的以太彩光,銳捷網絡發布極簡以太全光 3.X 方案

從 2021 年 3 月正式推出到現在,銳捷網絡極簡以太全光方案已經走進第四個年頭。IT 仍在不斷向前發展,數字化進程深入,數字化業務增多,更廣泛的終端設備接入企業級園區網絡,對園區網絡提出了更高的要求,例如…

GDB斷點執行的次數

需求背景:條件斷點可能執行多次,但是可能在最后一次執行引發了后續的問題,但是斷點位置并非問題現場,如何使得斷點在最后一次停下來? 方法: 1.首先設置條件斷點 (gdb) b (gdb) cond breakpoint_number…

Linux NFS共享目錄配置漏洞

Linux NFS共享目錄配置漏洞 一、實驗目的二、實驗原理三、復現準備四、漏洞復現4.1、復現前提4.2、正式復現 一、實驗目的 利用 NFS共享目錄配置漏洞讀取目標主機的 /etc/passwd 文件內容NFS 服務配置漏洞,賦予了根目錄遠程可寫權限,導致 /root/.ssh/au…

關系型數據庫VS非關系型數據庫

數據庫是存儲和組織數據的系統,主要分為兩大類: 關系型數據庫(Relational Database Management Systems, RDBMS) 非關系型數據庫(NoSQL Databases) 下面分別介紹這些類型及其區別: 關系型數…

im8mm 網絡卡死 Rx packets:1037578 errors:66 dropped:0 overruns:66 frame:0

1:網絡接收數據包異常 2:問題復現 問題在進行網絡數據包同吞吐量測試的時候出現的。同時發現,在使用iperf2測試時,是不會出現網絡中斷卡死的情況,使用 iperf3時才會出現此問題 指令(下面的指令運行在PC2上面&#xff…

AGV混合型電機驅動器|伺服控制器CNS-MI50H系列對電機的要求

混合型電機驅動器 CNS-MI50H系列涵蓋CNS-MI50HB-A、CNS-MI50HBN-A、CNS-MI50HDN-A、CNS-MI50HSN-A型號,專為 AGV 舵輪控制需求設計,集成舵輪轉向角度控制和驅動電機閉環控制。支持增量式編碼器,霍爾傳感器, 角度電位計&#xff0c…

自動化測試基礎 --- Jmeter

前置環境安裝 首先我們需要知道如何下載Jmeter 這里貼上下載網站Apache JMeter - Download Apache JMeter 我們直接解壓,然后在bin目錄下找到jemter.bat即可啟動使用 成功打開之后就是這個界面 每次打開可以用這種方式切換成簡體中文 或者直接修改properties文件修改對應的語言…

目標檢測算法YOLOv8簡介

YOLOv8論文尚未發布,YOLOv8由Ultralytics公司推出并維護,源碼見:https://github.com/ultralytics/ultralytics ,于2024年1月發布v8.1.0版本,最新發布版本為v8.2.0,License為AGPL-3.0。 以下內容主要來自&am…

FFmpeg 中 -f 命令參數詳解

FFmpeg FFmpeg是一個開源的、功能強大的多媒體框架,它能夠處理幾乎所有格式的音頻和視頻文件。FFmpeg由Fabrice Bellard創立,并由Michael Niedermayer等人繼續開發。它包括了libavcodec(用于編解碼)、libavformat(用于格式轉換)、libavfilter(用于音視頻過濾)、libavd…

微信授權登錄01-PC端

目錄 ## 前言 1.準備工作 1.1 網站域名 1.2 微信開放平臺 2.授權授權登錄開發 2.1 前端開發 2.1.1 發起授權登錄跳轉至掃碼頁面 2.1.2 掃碼成功后回調處理 2.2 后端開發 2.2.1 根據code查詢用戶信息 2.2.2 自動注冊登錄 ## 后記 ## 前言 最近整了個AI助手網站&am…

React 學習-5

React 條件渲染: 與js中的寫法一致 注意:在 JavaScript 中,true && expression 總是返回 expression,而 false && expression 總是返回 false。 因此,如果條件是 true,&& 右側的元素就會被渲…

BL120協議Modbus RTU和Modbus TCP互轉

Modbus網關BL120是一款專注于Modbus協議之間相互轉換的通信設備。Modbus網關BL120支持多種下行采集協議,包括Modbus RTU和Modbus TCP,同時在上行轉發協議方面同樣支持Modbus RTU和Modbus TCP。Modbus網關為Modbus RTU和Modbus TCP協議的相互轉換提供了穩…

回爐重造java----單列集合(List,Set)

體系結構: 集合主要分為兩種,單列集合collection和雙列集合Map,區別在于單列集合一次插入一條數據,而雙列的一次插入類似于key-value的形式 單列集合collection 注:紅色的表示是接口,藍色的是實現類 ①操作功能: 增加: add()&am…

SRS流媒體服務器在Linux下的安裝

目錄 一、安裝 1、切換到管理員權限 2、先安裝基礎依賴環境 3、下載SRS源文件

引領AI數據標注新紀元:景聯文科技為智能未來筑基

在人工智能蓬勃發展的今天,數據如同燃料,驅動著每一次技術飛躍。在這場智能革命的浪潮中,景聯文科技憑借其深厚的專業實力與前瞻性的戰略眼光,正站在行業前沿,為全球的人工智能企業提供堅實的數據支撐。 全國布局&…