一基本特征
面向?qū)ο蟮幕咎卣饔腥齻€:封裝性橄碾,繼承性滔韵,多態(tài)性
- 封裝性 封裝是一種信息隱藏技術(shù),封裝使數(shù)據(jù)和加工數(shù)據(jù)的函數(shù)封裝成一個整體陌粹,使用戶只看到對象的外特性,目的在于把對象的設計者和對象的使用者區(qū)別開來福压。
- 繼承性 繼承就是子類和父類可以共享數(shù)據(jù)掏秩,子類可以直接繼承父類的全部描述,并且可以加以修改和補充荆姆,繼承分為單繼承和多繼承蒙幻。
- 多態(tài)性
對象根據(jù)接受到的消息做出的不同的動作。不同對象對接收到的同一消息可以產(chǎn)生不同的動作胆筒。
二邮破、面向?qū)ο蠛兔嫦蜻^程的區(qū)別
- 面向過程編程試講程序一步一步分解,并且按照一定的順序執(zhí)行仆救,環(huán)環(huán)相扣抒和,最大的缺點就是,如果需求發(fā)生了改變彤蔽,需要改動的太多了摧莽。
- 面向?qū)ο缶幊痰氖褂檬且榷x一個類然后用該類型下的“對象”組裝程序,對象之間通過‘消息傳遞’顿痪。最大的缺點是:執(zhí)行效率過低镊辕。
二、基本概念
類
類是具有相同屬性及相同動作的一組對象蚁袭。
類的聲明
- 語法
[標識符] class 類名稱{
//類成員變量
//類的方法
}
- 類的控制符
Java的訪問權(quán)限主要有四個
- 1征懈、默認模式(default) 默認模式下,不需要為某個類揩悄,方法等不加任何訪問修飾符卖哎。這類方式聲明的方法和類,只允許在同一個包(package)內(nèi)是可 以訪問的。
- 2亏娜、private(私有) 被聲明為“私有”訪問焕窝,那么他只能在當前聲明它的類里面訪問,類和接口的訪問方式是不能被聲明為私有的
- 3照藻、public(公有) Java中歲訪問權(quán)限控制最寬松的修飾符袜啃。如果一個方法汗侵、變量幸缕、和構(gòu)造方法和接口被定義為“公共”訪問,那么它不僅可以跨類訪問晰韵,而且允許跨包訪問发乔。如果要訪問的其它包里有公共成員,則需要倒包雪猪。
- 4栏尚、protected(受保護的)如果一個變量、方法只恨、和構(gòu)造方法在父類中被聲明為"保護"訪問類型译仗,只能被類本身及其子類訪問,即使子類在不同的包也可以被訪問官觅。
注:final類不能被繼承纵菌。
- 類的定義
[標識符] class 類名稱{
數(shù)據(jù)類型 屬性;
類名稱 (參數(shù)休涤,...)
}
返回值的數(shù)據(jù)類型 方法名稱(參數(shù)1咱圆,參數(shù)2,...)
{
程序語句功氨;
return表達式序苏;
}
}
注:static修飾的成員不能訪問沒有stati修飾的成員。
- 類的屬性
定義屬性的語法:
[修飾符]屬性類型 屬性名[=默認值]
對象
對象是類的實例化產(chǎn)物捷凄。但是對象可以定義不同的屬性忱详。
- 對象的聲明
語法:
類名 對象名 = new 類名();
步驟:
- 1、聲明指向“由類所創(chuàng)建的對象”的變量跺涤。
- 2踱阿、利用new創(chuàng)建新的對象,并指派給先前所創(chuàng)建的變量钦铁。
舉例:
Person p = new Person();
- 對象的使用
語法:
對象名稱.屬性名 //訪問屬性
語法名稱.方法名 //訪問方法
- 匿名對象
對一個實例化的操作來講软舌,對象真正有用的部分是在堆內(nèi)存里面,棧內(nèi)存只保存了一個對象的引用名稱牛曹。所以所謂的匿名對象是指佛点,只開辟堆內(nèi)存空間,而沒有棧內(nèi)存指向的對象
匿名特點:
- 1、匿名對象是沒有被其他對象所引用
- 2超营、由于匿名對象沒有棧內(nèi)存指向鸳玩,所以其只能使用一次,時候就變成無法尋找的垃圾
- 對象的比較
- 1演闭、“ == ”運算符
“==”運算符是比較兩個對象的內(nèi)存地址值(引用值)是否相等 - 2不跟、利用“equals()”方法
equals()方法用于比較兩個對象的內(nèi)容是否一致
例:
String str1 = new String("java");
String str2 = new String("java");
str1和str2完全相等,如果用“==”運算符比較米碰,那就是不相等的窝革,因為分別是用new實例化了兩個String類型。如果是用“equals()”方法比較那他們就是想等的吕座。