欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一篇文章帶你了解JAVA面對對象三大特征之封裝

 更新時間:2021年08月03日 09:20:26   作者:鉛華殿  
所有的面向對象編程語言的思路都是差不多的,而這三大特性,則是思路中的支柱點,接下來我就重點講解了一下java三大特性-封裝,感興趣的朋友跟隨腳本之家小編一起看看吧

面對對象的三大特征: 封裝、繼承、多態(tài)

封裝

封裝是把客觀事物抽象成類,并且把自己的屬性和方法讓可信的類或對象操作,對不可性的隱藏。

繼承

繼承是指這樣一種能力:它可以使用現(xiàn)有類的所有功能,并在無需重新編寫原來的類的情況下對這些功能進行擴展。

1. 繼承得到的新類稱為“子類”或“派生類”。被繼承的父類稱為“基類”、“父類”或“超類”。

2. 繼承的過程是一個從一般到特殊的的過程。

3. 繼承概念的實現(xiàn)方式有二類:實現(xiàn)繼承與接口繼承。實現(xiàn)繼承是指直接使用基類的屬性和方法而無需額外編碼的能力;接口繼承是指僅使用屬性和方法的名稱、但是子類必須提供實現(xiàn)的能力;

多態(tài)

多態(tài)性(polymorphism)是允許你將父對象設置成為和一個或更多的他的子對象相等的技術,賦值之后,父對象就可以根據當前賦值給它的子對象的特性以不同的方式運作。這就意味著雖然針對不同對象的具體操作不同,但通過一個公共的類,它們(那些操作)可以通過相同的方式予以調用。

類和對象

了解封裝之前我們先來了解什么是類和對象

關于類

類是對象的數(shù)據類型,類是具有相同屬性和行為的一組對象的集合。也就是說,類是對現(xiàn)實事物的一種描述,類由屬性和行為組成,

類的步驟 :

  • ①定義類
  • ②編寫類的成員變量
  • ③編寫類的成員方法

例如代碼 :

/*
    手機類:
        類名:
        手機(Phone)

        成員變量:
        品牌(brand)
        價格(price)

        成員方法:
        打電話(call)
        發(fā)短信(sendMessage)
 */
public class Phone {
    //成員變量
    String brand;
    int price;

    //成員方法
    public void call() {
        System.out.println("打電話");
    }

    public void sendMessage() {
        System.out.println("發(fā)短信");
    }
}

關于對象

一句話描述就是能夠看得到摸的著的真實存在的實體

  • 創(chuàng)建對象的格式:
    • 類名 對象名 = new 類名();
  • 調用成員的格式:
    • 對象名.成員變量
    • 對象名.成員方法();

例如代碼 :

/*
    創(chuàng)建對象
        格式:類名 對象名 = new 類名();
        范例:Phone p = new Phone();

    使用對象
        1:使用成員變量
            格式:對象名.變量名
            范例:p.brand
        2:使用成員方法
            格式:對象名.方法名()
            范例:p.call()
 */
public class PhoneDemo {
    public static void main(String[] args) {
        //創(chuàng)建對象
        Phone p = new Phone();

        //使用成員變量
        System.out.println(p.brand);
        System.out.println(p.price);

        p.brand = "小米";
        p.price = 2999;

        System.out.println(p.brand);
        System.out.println(p.price);

        //使用成員方法
        p.call();
        p.sendMessage();
    }
}

三大特征第一封裝

關于封裝思想 :

1.封裝概述

是面向對象三大特征之一

是面向對象編程語言對客觀世界的模擬,客觀世界里成員變量都是隱藏在對象內部的,外界是無法直接操作的

2.封裝原則

將類的某些信息隱藏在類內部,不允許外部程序直接訪問,而是通過該類提供的方法來實現(xiàn)對隱藏信息的操作和訪問
成員變量private,提供對應的getXxx()/setXxx()方法

3.封裝好處

通過方法來控制成員變量的操作,提高了代碼的安全性

把代碼用方法進行封裝,提高了代碼的復用性

private關鍵字

private是一個修飾符,可以用來修飾成員(成員變量,成員方法)

  • 被private修飾的成員,只能在本類進行訪問,針對private修飾的成員變量,如果需要被其他類使用,提供相應的操作
    • 提供“get變量名()”方法,用于獲取成員變量的值,方法用public修飾
    • 提供“set變量名(參數(shù))”方法,用于設置成員變量的值,方法用public修飾

this關鍵字

this修飾的變量用于指代成員變量,其主要作用是(區(qū)分局部變量和成員變量的重名問題)

  • 方法的形參如果與成員變量同名,不帶this修飾的變量指的是形參,而不是成員變量
  • 方法的形參沒有與成員變量同名,不帶this修飾的變量指的是成員變量

圖解

構造方法

構造方法是一種特殊的方法

  • 作用:創(chuàng)建對象 Student stu = new Student();
  • 格式:

public class 類名{

​ 修飾符 類名( 參數(shù) ) {

​ }

}

  • 功能:主要是完成對象數(shù)據的初始化

例如代碼 :

class Student {
    private String name;
    private int age;
    //構造方法
    public Student() {
        System.out.println("無參構造方法");
    }
    public void show() {
        System.out.println(name + "," + age);
    }
}
/*
    測試類
 */
public class StudentDemo {
    public static void main(String[] args) {
        //創(chuàng)建對象
        Student s = new Student();
        s.show();
    }
}

構造方法注意事項

構造方法的創(chuàng)建:

  • a.如果沒有定義構造方法,系統(tǒng)將給出一個默認的無參數(shù)構造方法
  • b.如果定義了構造方法,系統(tǒng)將不再提供默認的構造方法

構造方法的重載:

  • 如果自定義了帶參構造方法,還要使用無參數(shù)構造方法,就必須再寫一個無參數(shù)構造方法

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!

相關文章

  • spring boot加載第三方jar包的配置文件的方法

    spring boot加載第三方jar包的配置文件的方法

    本篇文章主要介紹了spring boot加載第三方jar包的配置文件的方法,詳細的介紹了spring boot jar包配置文件的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 詳解如何實現(xiàn)SpringBoot的底層注解

    詳解如何實現(xiàn)SpringBoot的底層注解

    今天給大家?guī)淼奈恼率侨绾螌崿F(xiàn)SpringBoot的底層注解,文中有非常詳細的介紹及代碼示例,對正在學習java的小伙伴很有幫助,需要的朋友可以參考下
    2021-06-06
  • mybatis源碼解讀之executor包懶加載功能?

    mybatis源碼解讀之executor包懶加載功能?

    這篇文章主要介紹了mybatis源碼解讀之executor包懶加載功能,mybatis的懶加載的實現(xiàn)由executor包的loader子包支持,下面文章詳細內容需要的小伙伴可以參考一下
    2022-02-02
  • Java實現(xiàn)文件分割和文件合并實例

    Java實現(xiàn)文件分割和文件合并實例

    本篇文章主要介紹了Java實現(xiàn)文件分割和文件合并實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java實現(xiàn)定時任務

    Java實現(xiàn)定時任務

    這篇文章主要為大家詳細介紹了Java實現(xiàn)定時任務,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • spring5 SAXParseException:cvc-elt.1: 找不到元素“beans 的聲明詳解

    spring5 SAXParseException:cvc-elt.1: 找不到元素“beans 的聲明詳解

    這篇文章主要給大家介紹了關于spring5 SAXParseException:cvc-elt.1: 找不到元素“beans 聲明的相關資料,需要的朋友可以參考下
    2020-08-08
  • Java單例模式與破壞單例模式概念原理深入講解

    Java單例模式與破壞單例模式概念原理深入講解

    單例模式(Singleton?Pattern)是?Java?中最簡單的設計模式之一。這種類型的設計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式。這種模式涉及到一個單一的類,該類負責創(chuàng)建自己的對象,同時確保只有單個對象被創(chuàng)建
    2023-02-02
  • SpringBoot動態(tài)生成接口實現(xiàn)流程示例講解

    SpringBoot動態(tài)生成接口實現(xiàn)流程示例講解

    最近遇到一個需求,需要在程序運行過程中,可以動態(tài)新增接口,自定義接口參數(shù)名稱,基本類型,以及請求方法,請求頭等等。通過幾天的研究,找到了我需要的解決方案
    2023-01-01
  • SpringBoot+Vue+JWT的前后端分離登錄認證詳細步驟

    SpringBoot+Vue+JWT的前后端分離登錄認證詳細步驟

    這篇文章主要介紹了SpringBoot+Vue+JWT的前后端分離登錄認證,其實創(chuàng)建后端springboot工程也很簡單,本文安裝idea步驟一步步給大家詳細介紹,需要的朋友可以參考下
    2021-09-09
  • 淺談Java中@Autowired和@Inject注解的區(qū)別和使用場景

    淺談Java中@Autowired和@Inject注解的區(qū)別和使用場景

    本文主要介紹了淺談Java中@Autowired和@Inject注解的區(qū)別和使用場景,@Autowired注解在依賴查找方式和注入方式上更加靈活,適用于Spring框架中的依賴注入,而@Inject注解在依賴查找方式上更加嚴格,適用于Java的依賴注入標準,感興趣的可以了解一下
    2023-11-11

最新評論