面向對象編程基礎

1.概述

  • 1.1 對象Object:表示任意存在的事物,即對象是實體存在的事物。通常劃分為兩類:靜態(tài)部分和動態(tài)部分。靜態(tài)部分被稱為“屬性”,是客觀存在不可被忽視的,動態(tài)部分指的是對象的行為,即對象執(zhí)行的動作。(例如:對象:一個人,屬性:人的性別,行為:行走)

  • 1.2 類:類是封裝對象的屬性和載體(例如:類:鳥群,屬性:翅膀,爪子,行為:覓食,飛行)類包括對象的屬性和方法,類中的對象的屬性是以成員變量的形勢定義的,對象行為是以方法的形式定義的,類其實就是對象的設計圖。


    l1.PNG
  • 1.3 特點:
    A. 封裝性encapsulation(是核心思想。將對象的屬性和行為封裝起來,其載體就是類); 對外提供公有的getter/setter

    例子:Fruit


    z1.PNG
z2.PNG

B. 繼承性inheritance(是實現(xiàn)重復利用的重要手段,子類通過基礎,復用父類屬性和行為的同時又添加子類特有的屬性和行為);


l1.PNG

C. 多態(tài)性polymorphism(子類繼承父類的同時,又具備了自己的特征,能夠實現(xiàn)不同的效果)

2.類與對象

  • 含義: 類是封裝對象的屬性和載體,Java中定義類時使用class關鍵字

  • 2.1 成員變量:對象的屬性


    z1.PNG
  • 2.2 成員方法:


    z1.PNG
  • 定義:權限修飾符:(控制方法的訪問權限)是private、public、protected中的任意一個,也可不寫;返回值類型:用來指定方法返回數(shù)據(jù)的類型,可任意類型,若方法不需要返回值,則使用void關鍵字

  • 注意:若定義方法時未指定權限修飾符,方法默認訪問權限為缺省(即只能在本類或同個包中進行訪問);如果有返回值,一定要用return關鍵字返回相應類型的數(shù)組。

  • 2.3 成員方法的參數(shù):
    調用方法可以給該方法傳遞一個或多個值(實參:傳給方法的值;形參:在方法內部,接收實參)
    值參數(shù):表示實參和形參的直接按值傳遞


    z1.PNG

    引用參數(shù):參數(shù)的類型是數(shù)組或者其他引用類型,則方法中對參數(shù)的修改回反野到原有的數(shù)組或其他應用上去。
    不定長參數(shù):若有若干個相同類型參數(shù),可用不定長(例:int add(int...x))

  • 2.3 構造方法:是一個與類同名的方法。每當類實例化一個對象出來,類都會自動調用構造方法。


    z1.PNG

    z1.PNG
  • 2.4 局部變量:在成員方法中定義一個變量,則該變量就是局部變量。局部變量在方法執(zhí)行時被創(chuàng)建,在方法執(zhí)行結束時被銷毀。

  • 注意:局部變量使用時要進行賦值操作或被初始化,否則會出現(xiàn)編譯錯誤


    z2.PNG
z1.PNG
z1.PNG
z2.PNG
z3.PNG
  • 2.5 this關鍵字:用來代表本類對象的引用,this被隱式地用于引用對象的成員變量和方法。如果方法中出現(xiàn)了與局部變量同名的參數(shù),會導致方法無法使用成員變量。


    z1.PNG
z2.PNG
  • 2.6 類的主方法:主方法是類的入口點,它指定了程序從何開始,提供對程序流向的控制。Java編譯器通過主方法來執(zhí)行程序。


    z1.PNG

    主方法特征:靜態(tài)的,所以如要直接在主方法中調用其他方法,則該方法必須也是靜態(tài)的;主方法沒有返回值;主方法的形參為數(shù)組,其中args[0]--args[n]分別表示程序的第一個參數(shù)到第n+1個參數(shù),可以使用args.length獲取參數(shù)的個數(shù)

  • 2.7 小結:A、把數(shù)據(jù)抽象成類:萬事萬物皆是對象,數(shù)據(jù)也一樣。任何數(shù)據(jù)都有特性,將這些特性設置成類的屬性。如,時間包含年、月、日、時、分、秒,通用信息包含電話號碼和姓名。B、局部變量和全局變量:其實所有的變量都是局部變量,只是根據(jù)變量有效范圍不同而產生不同的叫法,如非靜態(tài)全局變量和靜態(tài)變量,非靜態(tài)全局變量的有效范圍時整個類體,當類銷毀后這些全局變量會同時銷毀。靜態(tài)變量的作用范圍時整個程序的生命周期 ,只有當程序結束后,靜態(tài)變量才會銷毀。

3、static關鍵字

由static修飾的變量(靜態(tài)變量)、常量(靜態(tài)常量)和方法(靜態(tài)方法),統(tǒng)稱為類的靜態(tài)成員。

  • 3.1 靜態(tài)變量:把共享的變量用static修飾(例如:一個泳池中,同時打開入水口和出水口,這兩個動作會同時影響到水池中的水量,此時水池中的水量就可以認為是一個共享的變量)


    z1.PNG

    同一個類的不同實例對象,可以共用一個靜態(tài)變量


    z2.PNG
  • 3.2 靜態(tài)方法:在無法創(chuàng)建類的對象時,要調用類中的方法才能夠完成業(yè)務邏輯,在
    z1.PNG

    這種情況下就可以使用靜態(tài)方法(無需實例化就可以調用)


    z1.PNG
  • 3.3靜態(tài)代碼塊:用static修飾代碼區(qū)域可以稱之為靜態(tài)代碼塊


    z1.PNG

    運行順序:靜態(tài)代碼塊由始至終只允許了一次;非靜態(tài)代碼塊在每次創(chuàng)建對象的時候,會在構造方法之前運行,所以在讀取成員變量name時,只能獲取到String類型的默認值“null”;構造方法只有在使用new創(chuàng)建對象的時候才會運行;成員方法只有在使用對象調用的時候才會運行。

參考文章:點這里

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 國家電網(wǎng)公司企業(yè)標準(Q/GDW)- 面向對象的用電信息數(shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 12,415評論 6 13
  • 初識面向對象 楔子 你現(xiàn)在是一家游戲公司的開發(fā)人員,現(xiàn)在需要你開發(fā)一款叫做<人狗大戰(zhàn)>的游戲,你就思考呀,人狗作戰(zhàn)...
    go以恒閱讀 995評論 0 6
  • 1、面向對象編程介紹 面向對象(object-oriented ;簡稱: OO) 至今還沒有統(tǒng)一的概念 我這里把它...
    JerryChenn07閱讀 295評論 0 0
  • 美文搬運工 一個人癡存畢生,頂禮膜拜的純情感懷,大概莫過于自始至終的鄉(xiāng)愁。 鄉(xiāng)愁,這是一種無法說清楚,道明白的...
    一路飄紅閱讀 349評論 0 4
  • 魚兒在歡快的游動,就像樹上的鳥兒歡快的在那兒鳴叫一樣,所有的一切竟是如此的畫卷。
    尋愛人閱讀 190評論 0 0

友情鏈接更多精彩內容