面向對象的基本概念

一基本特征

面向對象的基本特征有三個:封裝性,繼承性,多態性

  • 封裝性 封裝是一種信息隱藏技術,封裝使數據和加工數據的函數封裝成一個整體,使用戶只看到對象的外特性,目的在于把對象的設計者和對象的使用者區別開來。
  • 繼承性 繼承就是子類和父類可以共享數據,子類可以直接繼承父類的全部描述,并且可以加以修改和補充,繼承分為單繼承和多繼承。
  • 多態性
    對象根據接受到的消息做出的不同的動作。不同對象對接收到的同一消息可以產生不同的動作。

二、面向對象和面向過程的區別

  • 面向過程編程試講程序一步一步分解,并且按照一定的順序執行,環環相扣,最大的缺點就是,如果需求發生了改變,需要改動的太多了。
  • 面向對象編程的使用是要先定義一個類然后用該類型下的“對象”組裝程序,對象之間通過‘消息傳遞’。最大的缺點是:執行效率過低。

二、基本概念

類是具有相同屬性及相同動作的一組對象。

類的聲明

  • 語法

[標識符] class 類名稱{
//類成員變量
//類的方法
}

- 類的控制符

Java的訪問權限主要有四個

  • 1、默認模式(default) 默認模式下,不需要為某個類,方法等不加任何訪問修飾符。這類方式聲明的方法和類,只允許在同一個包(package)內是可 以訪問的。
  • 2、private(私有) 被聲明為“私有”訪問,那么他只能在當前聲明它的類里面訪問,類和接口的訪問方式是不能被聲明為私有的
  • 3、public(公有) Java中歲訪問權限控制最寬松的修飾符。如果一個方法、變量、和構造方法和接口被定義為“公共”訪問,那么它不僅可以跨類訪問,而且允許跨包訪問。如果要訪問的其它包里有公共成員,則需要倒包。
  • 4、protected(受保護的)如果一個變量、方法、和構造方法在父類中被聲明為"保護"訪問類型,只能被類本身及其子類訪問,即使子類在不同的包也可以被訪問。
    注:final類不能被繼承。
- 類的定義

[標識符] class 類名稱{
數據類型 屬性;
類名稱 (參數,...)
}
返回值的數據類型 方法名稱(參數1,參數2,...)
{
程序語句;
return表達式;
}
}

注:static修飾的成員不能訪問沒有stati修飾的成員。

- 類的屬性

定義屬性的語法:
[修飾符]屬性類型 屬性名[=默認值]

對象

對象是類的實例化產物。但是對象可以定義不同的屬性。

- 對象的聲明

語法:
類名 對象名 = new 類名();
步驟:

  • 1、聲明指向“由類所創建的對象”的變量。
  • 2、利用new創建新的對象,并指派給先前所創建的變量。
    舉例:
    Person p = new Person();
- 對象的使用

語法:
對象名稱.屬性名 //訪問屬性
語法名稱.方法名 //訪問方法

- 匿名對象

對一個實例化的操作來講,對象真正有用的部分是在堆內存里面,棧內存只保存了一個對象的引用名稱。所以所謂的匿名對象是指,只開辟堆內存空間,而沒有棧內存指向的對象
匿名特點:

  • 1、匿名對象是沒有被其他對象所引用
  • 2、由于匿名對象沒有棧內存指向,所以其只能使用一次,時候就變成無法尋找的垃圾
- 對象的比較
  • 1、“ == ”運算符
    “==”運算符是比較兩個對象的內存地址值(引用值)是否相等
  • 2、利用“equals()”方法
    equals()方法用于比較兩個對象的內容是否一致
    例:

String str1 = new String("java");
String str2 = new String("java");
str1和str2完全相等,如果用“==”運算符比較,那就是不相等的,因為分別是用new實例化了兩個String類型。如果是用“equals()”方法比較那他們就是想等的。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,951評論 19 139
  • 對象的由來以及衍生(JavaScript 萬物誕生記) new 到底做了多少事情 對象的基本概念 對象的構造函數 ...
    南航閱讀 568評論 0 0
  • 國家電網公司企業標準(Q/GDW)- 面向對象的用電信息數據交換協議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 11,167評論 6 13
  • 面向對象的基本概念有對象、類、抽象、封裝、繼承、多態、接口、消息、組件、模式和復用等。 1.對象 對象是由數據及其...
    everfight閱讀 1,224評論 0 0
  • # 序言 —— 未來不迎 當時不雜 既過不戀 小時候,我們學習如何用某種理論來解釋某些現象,無論是宗教還是科學。隨...
    _亨利閱讀 186評論 0 1