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