【傳智播客.黑馬程序員訓(xùn)練營成都中心】
轉(zhuǎn)載請注明出處
作者: 成都校區(qū).皓月當空
類和對象的白話講解
本文章作為類和對象的入門講解,通俗易懂晾蜘,很適合Java零基礎(chǔ)的兄弟們閱讀矢赁。
很多哥們在學(xué)習類和對象知識點的時候始腾,都感覺比較難學(xué)钟哥,分不清什么是類什么是對象浙踢,接下來我就帶大家一起來學(xué)一學(xué)唠叛,讓大家學(xué)起來不是那么的困難只嚣。
-
1、什么是類
很多人對類的解釋是這么說的艺沼,類是事物的屬性和行為的集合介牙,是一個抽象的概念。聽起來確實很抽象澳厢,說了和沒說也沒啥區(qū)別环础。那到底啥是類呢?這里我就要先講一個故事了剩拢。
故事:
話說线得,在古代,一個小男孩去神農(nóng)架旅游徐伐,走著走著進了一個很深的森林中贯钩,突然,這個小男孩看到了不遠處有一個很大的全身長滿了毛發(fā)的猩猩,但是看起來就和人一樣角雷,行為不像猩猩祸穷,更像是人,后來小男孩回到了客棧勺三,拿起筆和紙雷滚,寫上了這樣一段話:信的內(nèi)容:
親愛的小花,前些天我在神農(nóng)架游玩吗坚,在深山處看到了一個奇特的動物祈远,這個動物黑黑的,全身長滿了毛發(fā)商源,身高有2米高车份,跳的很高,跑的也很快牡彻,不知道你聽到我的描述之后扫沼,會不會對這個動物感興趣呢?愛你的小明庄吼。以上的文字是信里的內(nèi)容缎除,那當小花收到這封信之后,會通過看小明寫的這些文字霸褒,在大腦里就可以幻想出大概這個奇特的動物長什么樣子了伴找。其實小明在描述一類事物,這個奇特的動物可能不止一個废菱,可能會有很多個技矮,他們都有相似或者相同的外在特征,也都會跳殊轴,都會跑衰倦,所以這在我們現(xiàn)實生活中就被稱為類。其實在JAVA世界中也一樣旁理。由于我們程序員要和計算機打交道樊零,我們要和計算機進行溝通,如果我們想要描述一類事物的時候孽文,我們不可能用語言說出來驻襟,計算機沒那么發(fā)達,但是我們可以通過計算機認識的代碼體現(xiàn)出來芋哭,這樣計算機就可以知道我們要描述的事物是什么樣子了沉衣,比如我們可以這樣寫:
class 野人 { //這類事物的外在特征:屬性 int 身高; String 顏色; //這類事物具備的功能,行為 public void jump() {} public void run() {} }
這么寫和小明寫給小花的信差不多减牺,當我們這么寫完之后豌习,計算機就認識了存谎,就知道你要告訴它這個事物大概長什么樣子了。這就是JAVA世界中的類肥隆。
如果看了以上的內(nèi)容大家還是不懂什么是類的話既荚,那我們可以問自己一個問題,就是我們?yōu)槭裁唇凶鲎?人"類" 栋艳?大家可以好好的想一想恰聘,為什么我要叫做人類,而不叫做鳥類嘱巾,雞類呢憨琳?因為我們有相似或者相同的屬性诫钓,也就是外在特征旬昭,我們也都具備共同的功能,比如說吃喝拉撒睡菌湃,所以我們都是人類问拘,這個人類不是具體的誰誰誰,就是一個叫法惧所,而在JAVA世界中骤坐,類就這和我們現(xiàn)實生活中的類是一樣的,現(xiàn)實生活中有人類下愈,那JAVA世界中纽绍,我們也可以寫一個人類。
說了這么多势似,相信大家對類的理解應(yīng)該又提高了一個檔次拌夏,關(guān)于類的講解就說到這里,接下來咱們來學(xué)習什么是對象履因。
-
2障簿、什么是對象
剛才我們講解了類,知道了類就是對一類事物的描述栅迄,并不是具體的指誰誰誰站故,那對象是什么呢?比如毅舆,如果說我們大家都是人類的話西篓,那你,我憋活,他岂津,我們的每一個人,那就都是每一個對象余掖,有100個人寸爆,那就有100對象礁鲁,這100個對象都是屬于人類。相比大家現(xiàn)在對對象也有了一定的理解吧赁豆。
-
3.怎么定義一個類
我們知道了什么是類仅醇,什么是對象之后,那在JAVA中魔种,我們就要去寫類析二,寫對象,那怎么寫一個類呢节预?
格式:
class Person { String name;//姓名 int age;//年齡 String gender;//性別 String xingzuo;//星座 String xuexing;//血型 //吃的功能 public void eat() { System.out.println("吃"); } //喝的功能 public void drink() { System.out.println("喝"); } //拉的功能 public void la() { System.out.println("拉"); } //撒的功能 public void sa() { System.out.println("撒"); } //睡的功能 public void sleep() { System.out.println("睡"); } }
說明:
class是用來定義一個類的關(guān)鍵字
我們在寫某個事物的時候叶摄,要分析該事物有哪些屬性和行為,屬性在JAVA中就是成員變量安拟,行為在JAVA中就是成員方法蛤吓,我們在寫一個類的時候,只需要把這個事物的屬性和行為也出來就可以了糠赦。 4.怎么使用一個類
想要使用一個類会傲,只需要創(chuàng)建該類的對象,我們使用對象就可以了拙泽。
就好比說讓你去打一個人淌山,你能去打人類嗎?不可能顾瞻,你應(yīng)該去打某一個人泼疑,所以我們寫完類,不能去使用人類荷荤,而是去操作具體的某一個人退渗,也就是對象。
首先我們要寫出一個類梅猿,然后使用類的對象氓辣,這次就拿豬類舉例:
//描述類
class Pig {
private String name;//姓名
private int age;//年齡
private String xingzuo;//星座
public Pig() {}
public Pig(String name, int age, String xingzuo) {
this.name = name;
this.age = age;
this.xingzuo = xingzuo;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;//此處this可以省略,因為沒有同名的局部變量
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return this.age;
}
public void setXingzuo(String xingzuo) {
this.xingzuo = xingzuo;
}
public String getXingzuo() {
return this.xingzuo;
}
//吃的功能
public void eat() {
System.out.println("吃肉");
}
}
//測試類
class Demo {
public static void main(String[] args) {
//創(chuàng)建一頭豬(創(chuàng)建對象的格式:類名 對象名 = new 類名())
Pig pig1 = new Pig("jack", 18, "白豬座");
//看第一頭豬的屬性和行為
System.out.println(pig1.getName());
System.out.println(pig1.getAge());
System.out.println(pig1.getXingzuo());
pig1.eat();
//創(chuàng)建一頭豬
Pig pig2 = new Pig("tom", 19, "黑豬座");
//看第二頭豬的屬性和行為
System.out.println(pig2.getName());
System.out.println(pig2.getAge());
System.out.println(pig2.getXingzuo());
pig2.eat();
}
}