Java入門基礎學習筆記36——面向對象基礎

面向對象編程快速入門:

計算機是用來處理數據的。

單個變量

數組變量

對象數據

Student類:

package cn.ensource.object;public class Student {String name;double chinese_score;double math_score;public void printTotalScore() {System.out.println(name + "的總成績是: " + (chinese_score + math_score));}public void printAverageScore() {System.out.println(name + "的平均成績是: " + (chinese_score + math_score) / 2.0);}
}

測試類:

package cn.ensource.object;public class Test {public static void main(String[] args) {// 目標:面向對象編程快速入門// 創建一個學生對象,封裝波妞的數據Student s1 = new Student();s1.name = "播妞";s1.chinese_score = 100;s1.math_score = 100;s1.printTotalScore();s1.printAverageScore();Student s2 = new Student();s2.name = "播仔";s2.chinese_score = 59;s2.math_score = 59;s2.printTotalScore();s2.printAverageScore();}
}

開發一個一個的對象,把數據交給對象,再調用對象的方法來完成對數據的處理。

深刻認識面向對象:

1)面向對象編程的好處?

世界萬物皆對象。

汽車的數據找汽車對象處理。

手機的數據找手機對象處理。

學生的數據找學生對象處理。

符合人類的思維習慣,編程更簡單,更直觀。

2)程序中的對象到底是個啥?

對象本質上是一種特殊的數據結構。

對象就是一個表。

對象是用類new出來的,有了類就可以創建對象。

類名 對象名 = new 類名();

3)對象是怎么出來的?

class也是類,也稱為對象的設計圖(或者對象的模板)。

面向對象編程這種套路是咋回事?

祖師爺認為萬物皆對象,誰的數據誰處理。

面向對象編程(OOP):

把現實世界中的事物全部看成一個一個的對象來解決問題的。Java的核心思想:萬物皆對象。

類(設計圖):相同事物的共同特征的描述。

對象:對象是類的具體實例。對象和實例是一回事。

定義類的一些注意事項:

1)類名首字母建議大寫、有意義、滿足駝峰,不要用關鍵字,合法的標識符;

2)一個java文件中可以定義多個類,但是只能一個類是public修飾的,而且public修飾的類名必須成為java的文件名,否則報錯。

類中具體怎么寫呢?

一般名詞定義為屬性(成員變量)。修飾符、數據類型、變量名稱 = 初始值。

private String name;

private double score;

成員變量不建議初始化,存在默認值,默認值的規則:0、0.0、null、false。

一般動詞定義成方法(行為):修飾符、返回值、方法名(形參)

創建對象:

類名? 對象名 = new 構造器();

對象的使用:

對象名.成員變量

對象名.成員方法

構造器:

構造器的作用:初始化類的對象,并返回對象的地址。

詳細格式:

分類:無參數構造器(初始化一個類的對象,里面的數據都是默認值,并返回對象的地址)、無參數構造器(初始化一個類的對象,并返回對象的地址,并且可以同時為對象的成員變量賦值。)

構造器如何調用:

類名 對象名稱 = new 構造器();

注意:任何類,自帶一個無參數構造器,寫不寫都有;

如果在類中定義了一個又參數的構造器,那么無參數構造器就消失了,此時,如果還想使用無參數構造器,必須自己寫一個。

構造器在IDEA中都是可以自動生成的。

this關鍵字:代表當前對象的地址。可以訪問當前對象的成員對象和成員方法。

this具體用在什么地方?

1)可以用在有參數構造器中的。

2)在方法中,形參和局部變量跟成員變量相同,可以使用this來區別。誰調用方法,this就代表誰。

封裝:封裝是特點,按這個特點寫。

面相對象的三大特征:封裝、繼承、多態

封裝:就是將變量、方法放到一個事物中。決定屬性和行為歸屬誰的問題。

如何更好地封裝呢?

合理隱藏、合理暴露。

成員變量建議private私有化、只能本類訪問。

合理暴露:提供成套的getter/setter方法,暴露取值和賦值。

代碼可以自動生成。

標準JavaBean:

實體類:(學生類、老師類、汽車類、門類、人類)。

作用:創建對象,封裝數據的。

標準Bean的書寫要求:

成員變量建議private私有化、只能本類訪問。

合理暴露:提供成套的getter/setter方法,暴露取值和賦值。

必須提供無參數構造器。

局部變量和成員變量的區別?

這個還是很好理解的。

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

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

相關文章

【哈希】Leetcode 219. 存在重復元素 II【簡單】

存在重復元素 II 給你一個整數數組 nums 和一個整數 k &#xff0c;判斷數組中是否存在兩個 不同的索引 i 和 j &#xff0c;滿足 nums[i] nums[j] 且 abs(i - j) < k 。如果存在&#xff0c;返回 true &#xff1b;否則&#xff0c;返回 false 。 示例 1&#xff1a; 輸…

偏微分方程算法之橢圓型雙調和方程問題

目錄 一、研究對象 二、問題解析 一、研究對象 針對雙調和方程的邊值問題:

達夢數據庫使用dmlcvt命令找回更改前的數據

在生產系統上不小心修改了表數據后最快的方法是用閃回查詢找回。但時間不能超過undo_retention&#xff08;默認90秒&#xff09;。其實最標準的處理方法是在其他機器上將數據庫恢復到修改前的時刻。但數據庫比較大時恢復時間較長。真實場景可能比較急。那么也可以分析歸檔日志…

數組序號Spinner

使用Spnner代替編輯框&#xff0c;只能選擇已有的&#xff0c;不會越界&#xff0c;大大簡化了代碼。 String[] SA new String[list.size()]; for (int i0; i<SA.length; i) {SA[i] String.valueOf(i); } ArrayAdapter<String> adapter1 new ArrayAdapter<>(…

[國產大模型簡單使用介紹] 開源與免費API

個人博客:Sekyoro的博客小屋 個人網站:Proanimer的個人網站 隨著大模型技術蓬勃發展和開源社區越來越活躍,國內的大模型也如雨后春筍一般.這時,一些就會問了,有了llama3,Mistral還有Gemma等等,國外大廠接連發力,一些開源社區也會有一些不錯的模型,國內怎么比?對一個人使用,oll…

下雨!大水蟻引發的水文!看比賽咯,曼聯VS曼城——早讀(逆天打工人爬取熱門微信文章解讀)

嘮嘮嗑 水一水 引言Python 代碼結尾 引言 今天星期六 大小周 一個等了很久的雙休 昨天晚上真的是嚇到我了 漫天的小飛蟲 我一開始還以為是一兩只 沒想到那些小飛蟲 從陽臺不斷飛進來 在山卡拉下面租房子 也是太恐怖了 來個特寫 他們也就一個晚上的時間 成蟲 天氣合適 長翅…

大語言模型發展歷史

大語言模型的發展歷史可以追溯到自然語言處理&#xff08;NLP&#xff09;和機器學習早期的探索&#xff0c;但真正快速發展起來是在深度學習技術興起之后。以下是大語言模型發展的一個簡要歷史概述&#xff1a; 早期階段&#xff08;20世紀50-90年代&#xff09;&#xff1a; …

網絡拓撲—DNS服務搭建

文章目錄 DNS服務搭建網絡拓撲配置網絡DNSPC 安裝DNS服務配置DNS服務創建正向查找區域創建反向查找區域創建子域名 PC機DNS域名解析 DNS服務搭建 網絡拓撲 為了節省我的U盤空間&#xff0c;沒有用路由器&#xff0c;所以搭建的環境只要在同網段即可。 //交換機不用考慮 DNS&a…

MiniCPM-Llama3-V-2_5-int4

MiniCPM-Llama3-V-2_5-int4大模型部署使用環境&#xff1a; python3.8cuda11.8其它要求&#xff0c;按照安裝文檔要求下載即可 我是在算力平臺用4090跑的&#xff0c; GPU 顯存&#xff08;8GB&#xff09;可以部署推理 int4 量化版本&#xff0c;如果推理非量化版本需要更高顯…

云部署最簡單python web

最近在玩云主機&#xff0c;考慮將簡單的web應用裝上去&#xff0c;通過廣域網訪問一下&#xff0c;代碼很簡單&#xff0c;所以新手幾乎不會碰到什么問題。 from flask import Flaskapp Flask(__name__)app.route(/) def hello_world():return Hello, World!app.route(/gree…

2024洗地機哪個牌子好?洗地機十大品牌

洗地機在不同家庭環境中都能發揮其獨特的優勢&#xff0c;無論是大面積的地板還是狹小的角落&#xff0c;都能輕松應對。 對于有孩子或寵物的家庭&#xff0c;地面上經常會有各種雜物和污漬&#xff0c;洗地機強大的吸力和深度清潔功能&#xff0c;可以迅速清理掉這些臟東西&a…

數理邏輯:1、預備知識

17.1 命題和聯結詞 ? 命題&#xff1a;可以判定真假的陳述句。&#xff08;則悖論&#xff0c;祈使句&#xff0c;疑問句都不是命題&#xff09; ? 原子命題&#xff1a;不能被分割為更小的命題的命題 例如&#xff1a; 2既是素數又是偶數 可以由$p: 2 是素數&#xff0c;…

DNS的服務與部署(2)

1、dns的安裝及開啟 dnf install bind.x86_64 -y #安裝 #Berkeley Internet Name Domain (BIND) systemctl enable --now named #啟用dns服務&#xff0c;服務名稱叫named firewall-cmd --permanent --add-servicedns #火墻設置 firewall-cmd --reload …

基于SSH的母嬰用品銷售管理系統帶萬字文檔

文章目錄 母嬰商城系統一、項目演示二、項目介紹三、系統部分功能截圖四、萬字論文參考五、部分代碼展示六、底部獲取項目源碼和萬字論文參考&#xff08;9.9&#xffe5;帶走&#xff09; 母嬰商城系統 一、項目演示 母嬰商城系統 二、項目介紹 基于SSH的母嬰商城系統 系統…

Tina-Linux -- 3. LVGL測試

參考韋東山 – Tina_Linux_圖形系統_開發指南 Tina-linux lvgl 配置 環境配置 進入Tina-SDK根目錄 source build/envsetup.sh lunch XXX平臺名稱 make menuconfigLVGL Gui --->Littlevgl --->< > lv_demo<*> lv_examples &#xff08;lvgl官方demo&#…

【區塊鏈】fisco節點運維 更新ing

基于已完成的區塊鏈系統與管理平臺搭建工作&#xff0c;開展區塊鏈節點的加入與退出運維工作&#xff0c;具體內容如下 以下只是舉例子講 如果有其他修改沒舉例出來可以留言 私信 主要以比賽出題的形式講 區塊鏈節點輸出等級為警告級&#xff0c;并設置日志存儲閾值為100MB并…

主機與VMware虛擬機共享文件夾

虛擬機M --> 設置 --> 選項 --> 共享文件夾 虛擬機里的共享文件夾需要掛載 sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other from 主機與VMware虛擬機共享文件夾&#xff1a;解決虛擬機找不到共享文件夾問題 - 知乎

C++實現的代碼行數統計器

代碼在GitHubMaolinYe/CodeCounter: C20實現的代碼統計器&#xff0c;代碼量小于100行&#xff0c;可以統計目錄下所有代碼文件的行數 (github.com) 前段時間到處面試找實習&#xff0c;有技術負責人的負責人問我C寫過多少行&#xff0c;5萬還是10萬&#xff0c;用來評估熟練度…

Capture One Studio for Mac:打造完美影像的利器

對于攝影師而言&#xff0c;每一次按下快門都是一次對完美影像的追求。而Capture One Studio for Mac正是這樣一款能夠幫助你實現這一追求的利器。 Capture One Studio for Mac v16.4.2.1中文直裝版下載 首先&#xff0c;Capture One Studio for Mac擁有出色的圖像處理能力。它…

從零起航,Python編程全攻略

新書上架~&#x1f447;全國包郵奧~ python實用小工具開發教程http://pythontoolsteach.com/3 歡迎關注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目錄 一、Python入門之旅 二、Python進階之道 三、Python爬蟲實戰 四、Python數據分析利器 五…