當前位置:聯(lián)升科技 > 技術(shù)資訊 > 開(kāi)發(fā)技術(shù) >

Java基礎入門(mén)篇——面向對象和類(lèi)的定義

2021-01-28    作者:Java進(jìn)階者    來(lái)源:Java進(jìn)階學(xué)習交流    閱讀:

一、面向對象
1.面向對象是在程序中使用對象來(lái)映射現實(shí)中的事物,對象的關(guān)系來(lái)描述事物之間的聯(lián)系。
2.面向對象的特點(diǎn):
封裝性:封裝是將類(lèi)的某些信息隱藏在類(lèi)內部,不讓外部程序去訪(fǎng)問(wèn),需要通過(guò)這個(gè)類(lèi)提供的方法來(lái)實(shí)現對隱藏信息的操作和訪(fǎng)問(wèn)。封裝也是面向對象的核心思想,把類(lèi)的屬性和行為封裝起來(lái),不給外界知道具體的細節。
繼承性:繼承是類(lèi)與類(lèi)的一種關(guān)系,而不是對象在繼承。子類(lèi)從父類(lèi)繼承,子類(lèi)中就擁有父類(lèi)中定義的所有成員,只是類(lèi)的繼承,我們創(chuàng )建對象,對象與對象是毫無(wú)關(guān)系的。滿(mǎn)足繼承是一種”is a”關(guān)系,凡是滿(mǎn)足”is a”關(guān)系的類(lèi)就可以擁有繼承的關(guān)系,當A類(lèi)是1個(gè)B類(lèi)的時(shí)候,那么A類(lèi)就可以從B類(lèi)繼承,例如“貓”繼承“動(dòng)物”,動(dòng)物類(lèi)是貓類(lèi)的父類(lèi)或基類(lèi),貓類(lèi)是動(dòng)物類(lèi)的子類(lèi)或派生類(lèi)。
多態(tài)性:多態(tài)就是對象的多種形態(tài)。在程序中可以出現重名現象,它指在一個(gè)類(lèi)中定義的方法和屬性被其他類(lèi)繼承,它們就有不同的數據類(lèi)型或表現出不同的行為,使得同一個(gè)屬性和方法在不同類(lèi)有不同的意義。
二、類(lèi)的定義
1.什么是類(lèi)?
物以類(lèi)聚,人以群分。類(lèi)是對一群具有相同特征或行為的事物的1個(gè)統稱(chēng)。是抽象的也不能直接使用。如果非要使用類(lèi)的話(huà)呢?只能去找這一類(lèi)事物中的一個(gè)具體存在,然后使用這個(gè)具體存在。
2.類(lèi)中可以定義成員變量和成員方法,其中成員變量用來(lái)描述對象的特征,也叫做屬性。成員方法用來(lái)描述對象的行為,稱(chēng)作方法。
3.如何定義一個(gè)類(lèi)
class Person{ 
int age;//定義int類(lèi)型變量age 
//定義speak()方法 
void speak(){ 
        System.out.print("我今年"+age+"歲"); 
  } 
首先是定義了一個(gè)Person類(lèi),Person是類(lèi)名,age是成員變量,speak()成員方法。在成員方法可以訪(fǎng)問(wèn)成員變量的age。
4.定義在類(lèi)中的變量是成員變量,定義在方法中的變量局部變量。假設在某一個(gè)方法中定義局部變量跟成員變量的名是一樣的,這時(shí)方法訪(fǎng)問(wèn)的是局部變量而不是成員變量。
例如:
class Person{ 
int age=3;//成員變量 
//定義speak()方法 
void speak(){ 
        int age=10;//局部變量 
        System.out.print("我今年"+age+"歲"); 
  } 
public class p13 { 
public static void main(String[] args) { 
// TODO Auto-generated method stub 
Person p1=new Person(); 
p1.speak(); 
  } 
輸出的結果是:
我今年10歲 
三、對象的創(chuàng )建和使用
1.什么是對象
對象是現實(shí)生活中的一個(gè)個(gè)具體存在.??吹靡?jiàn)、摸的著(zhù)。拿過(guò)來(lái)就可以直接使用。
2.創(chuàng )建對象的格式
類(lèi)名 對象名稱(chēng)=new 類(lèi)名(); 
例如:
Person p=new Person(); 
上面代碼中”new Person()”是創(chuàng )建Person類(lèi)的一個(gè)實(shí)例對象,”Person p”是Person類(lèi)的變量p。“=”表示Person對象在內存中的地址賦值給變量p。這個(gè)變量p就有了對象的引用。
3.創(chuàng )建對象后,可以通過(guò)對象的引用來(lái)訪(fǎng)問(wèn)對象的所有成員。
訪(fǎng)問(wèn)對象成員的格式
對象引用.對象成員 
4.如何訪(fǎng)問(wèn)對象成員的案例
class Person{ 
int age;//成員變量 
//定義speak()方法 
void speak(){ 
        System.out.println("我叫張三,今年"+age+"歲"); 
  } 
public class p13 { 
public static void main(String[] args) { 
// TODO Auto-generated method stub 
        //創(chuàng )建兩個(gè)Person的對象 
Person p1=new Person();//創(chuàng )建第一個(gè)Person對象 
p1.age=8;//age屬性賦值 
p1.speak();//調用對象的方法 
Person p2=new Person();//創(chuàng )建第二個(gè)Person對象 
p2.speak();//調用對象的方法 
  } 
輸出的結果是:
我叫張三,今年8歲 
我叫張三,今年0歲 
四、總結
本文主要介紹了面向對象概念,面向對象的三個(gè)特點(diǎn)封裝性、繼承性、多態(tài)性。類(lèi)的定義和創(chuàng )建對象與使用。詳細的介紹了怎么去定義一個(gè)類(lèi),通過(guò)案例來(lái)理解怎么去定義的。對象的創(chuàng )建與使用介紹了使用的格式,通過(guò)創(chuàng )建對象后,可以通過(guò)對象的引用來(lái)訪(fǎng)問(wèn)對象的成員。希望大家通過(guò)本文的學(xué)習,對你有所幫助!


相關(guān)文章

我們很樂(lè )意傾聽(tīng)您的聲音!
即刻與我們取得聯(lián)絡(luò )
成為日后肩并肩合作的伙伴。

行業(yè)資訊

聯(lián)系我們

13387904606

地址:新余市仙女湖區仙女湖大道萬(wàn)商紅A2棟

手機:13755589003
QQ:122322500
微信號:13755589003

江西新余網(wǎng)站設計_小程序制作_OA系統開(kāi)發(fā)_企業(yè)ERP管理系統_app開(kāi)發(fā)-新余聯(lián)升網(wǎng)絡(luò )科技有限公司 贛ICP備19013599號-1   贛公網(wǎng)安備 36050202000267號   

微信二維碼