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

新手了解java 類,對(duì)象以及封裝基礎(chǔ)知識(shí)

 更新時(shí)間:2021年07月05日 17:25:26   作者:王星偉QAQ  
JS是一門面向?qū)ο笳Z言,其對(duì)象是用prototype屬性來模擬的,本文介紹了如何封裝JS對(duì)象,具有一定的參考價(jià)值,下面跟著小編一起來看下吧,希望對(duì)你有所幫助

1、類

什么是類

​ 類是具備某些共同特征的實(shí)體的集合,是對(duì)所具有相同特征實(shí)體的抽象。

Java中定義類的基本語法

訪問修飾符 class 類名{}

public class Student{
    //定義了一個(gè)學(xué)生類
}

成員變量

成員變量就是對(duì)象所擁有的屬性

基本語法

訪問修飾符 [可選修飾符] 數(shù)據(jù)類型 變量名稱;

public class Student{
    //定義了一個(gè)學(xué)生類
    public int age;
    String name;
    protected long tel;
    private double a;
}

方法

放法可以用來描述對(duì)象動(dòng)作

基本語法

訪問修飾符 [可選修飾符] 數(shù)據(jù)類型 方法名稱(參數(shù)列表){方法體};

public class Student{
    public void print(){
       System.out.print("方法") 
    }
    public int sum(int a, int b){
        return a + b;
    }
}

2、對(duì)象

什么是對(duì)象

對(duì)象就是類的實(shí)例

對(duì)象的創(chuàng)建

基本語法

類型 對(duì)象名稱 = new 類型();

public class StudentTest{
    public static void main(String[] args){
        Student stu = new Student();
    }
}

3.方法的重載 什么是方法的重載

方法的重載就是在一個(gè)類當(dāng)中存在多個(gè)同名的方法;

這些方法遵循以下規(guī)則

  • 方法名相同
  • 方法的參數(shù)列表不同
    • ​ 1)參數(shù)的個(gè)數(shù)不同
    • ​ 2)參數(shù)的類型不完全相同,包括數(shù)據(jù)類型以及數(shù)據(jù)類型的順序
    • ​ 3)與參數(shù)名稱無關(guān)
  • 與方法的返回值類型、訪問修飾符無關(guān)
public class Student{
    /**
    *定義一個(gè)求和方法根據(jù)傳入?yún)?shù)的值進(jìn)行求和,并返回結(jié)果
    */
    public int sum(int a,int b){
        return a + b;
    }
    //參數(shù)的個(gè)數(shù)不同
    public int sum(int a,int b,int c){
        return a + b + c;
    }
    //參數(shù)列表的類型不同
    public int sum(int a,short b){
        return a + b;
    }
    //參數(shù)列表類型順序不同
    public int sum(short a,int b){
        return a + b;
    }
}

4、構(gòu)造器 什么是構(gòu)造方法

  • 構(gòu)造方法的結(jié)構(gòu)和普通方法類似,但是和普通方法完全不同兩個(gè)代碼塊;
  • 構(gòu)造方法也是方法,意味著使用了構(gòu)造方法,方法會(huì)執(zhí)行,也能完成功能
  • 構(gòu)造方法就是一個(gè)代碼塊【就是一個(gè)結(jié)構(gòu) ,構(gòu)造方法和 字段 方法一樣都是一個(gè)類中的成員之一
  • 構(gòu)造方法也該存在于類的結(jié)構(gòu)體中

構(gòu)造方法語法:

  • 構(gòu)造方法的名字和類名完全一致(包括大小寫完全一致)
  • 沒有返回值類型(void也不行)
  • 構(gòu)造方法方法體不能返回任何的值(即不能在方法體中return 值)
  • 其他的和普通方法類似 ,可以有修飾符(public、protected、private、默認(rèn)),可以有形參列表
  • 構(gòu)造方法必須有方法體
  • 構(gòu)造方法不能有任何非訪問性質(zhì)的修飾符修飾,例如 static、final、synchronized、abstract等都不能修飾構(gòu)造方法。

注意new Student() 這個(gè)整體既是一個(gè)Student對(duì)象,又是調(diào)用的Student的無參數(shù)構(gòu)造方法

構(gòu)造方法特點(diǎn)

1.類中構(gòu)造方法特點(diǎn):

  • ① 每一個(gè)類中都至少有一個(gè)構(gòu)造方法;
  • ② 如果沒有看到(顯示的),那么存在一個(gè)隱式的無參數(shù)的構(gòu)造方法;
  • ③ 如果一個(gè)類中有顯示的構(gòu)造方法,那么隱式的無參的構(gòu)造方法就不存在了;

構(gòu)造方法的作用

在創(chuàng)建對(duì)象的同時(shí)給對(duì)象的成員變量賦值(初始化工作)

模板語法

public class 類名{
成員變量  (字段); 
構(gòu)造方法(有參、無參);
方法 (具體的一個(gè)功能行為); 
}
public class Student{
    public String name;
    public int age;
    /**
    無參構(gòu)造
    */
    public Student(){}
     /**
    有參構(gòu)造
    */
    public Student(String name,int age){
    }
}

5.this this指代當(dāng)前對(duì)象,即哪個(gè)對(duì)象調(diào)用就指代哪個(gè)對(duì)象

this****用途:

  • 解決局部變量和成員變量的二義性
  • 在本類之間 ,構(gòu)造方法之間的相互調(diào)用 this()調(diào)用無參數(shù)的構(gòu)造方法,this(…)可以添加參數(shù),表示調(diào)用有參數(shù)的構(gòu)造方法
  • this作為參數(shù)傳遞,this作為返回值
public class Student{
    public String name;
    public int age;
    /**
    無參構(gòu)造
    */
    public Student(){}
     /**
    有參構(gòu)造
    */
    public Student(String name,int age){
        this();//調(diào)用構(gòu)造器,只能寫在第一句
        this.name = name //調(diào)用屬性
    }
}

6.封裝

封裝:指的是將類中不想被外界訪問的成員私有化。

封裝的作用

封裝是為了保護(hù)內(nèi)部數(shù)據(jù)的安全:

1.不希望在外部類中隨意訪問對(duì)象的成員變量

2.達(dá)到權(quán)限要求的才能訪問

怎么封裝

1.如何控制程序中的訪問 ?

通過給類中的成員(字段,方法,構(gòu)造方法)添加訪問權(quán)限修飾符來實(shí)現(xiàn)封裝(訪問控制)

2.什么是訪問權(quán)限:簡單的認(rèn)為訪問權(quán)限就是不同級(jí)別的人能夠干不同級(jí)別的事,不同級(jí)別的人能看到的頁面是不同的

步驟

  • 1. 私有化成員變量(用private修飾成員變量)
  • 2. 為每一個(gè)成員變量提供合理的
    • **getXxx()**方法 獲取成員變量的值,如果當(dāng)前成員變量類型是boolean類型,將getXxx()改為 isXxx()
    • **setXxx(…)**方法 設(shè)置成員變量的值
  • 3. 提供一個(gè)無參構(gòu)造,和全參的構(gòu)造
  • 4. 該類用public修飾
public class Student{
    private String name;
    private int age;
    public String getName(){
       return this.name;
    }
    public void setName(String name){
        this.name = name;
    }
      public String getAge(){
       return this.age;
    }
    public void setAge(String age){
        this.age = age;
    }
}

總結(jié)

本篇文章就到這里了,希望可以給你提供幫助,也希望您能多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 深入淺出講解Spring框架中依賴注入與控制反轉(zhuǎn)及應(yīng)用

    深入淺出講解Spring框架中依賴注入與控制反轉(zhuǎn)及應(yīng)用

    依賴注入(Dependency?Injection)和控制反轉(zhuǎn)(Inversion?of?Control)是同一個(gè)概念。具體含義是:當(dāng)某個(gè)角色(可能是一個(gè)Java實(shí)例,調(diào)用者)需要另一個(gè)角色(另一個(gè)Java實(shí)例,被調(diào)用者)的協(xié)助時(shí),在?傳統(tǒng)的程序設(shè)計(jì)過程中,通常由調(diào)用者來創(chuàng)建被調(diào)用者的實(shí)例
    2022-03-03
  • Spring?Boot?整合持久層之Spring Data JPA

    Spring?Boot?整合持久層之Spring Data JPA

    在介紹Spring Data JPA的時(shí)候,我們首先認(rèn)識(shí)下Hibernate。Hibernate是數(shù)據(jù)訪問解決技術(shù)的絕對(duì)霸主,使用O/R映射技術(shù)實(shí)現(xiàn)數(shù)據(jù)訪問,O/R映射即將領(lǐng)域模型類和數(shù)據(jù)庫的表進(jìn)行映射,通過程序操作對(duì)象而實(shí)現(xiàn)表數(shù)據(jù)操作的能力,讓數(shù)據(jù)訪問操作無須關(guān)注數(shù)據(jù)庫相關(guān)的技術(shù)
    2022-08-08
  • Java設(shè)計(jì)模式之代理模式_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java設(shè)計(jì)模式之代理模式_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Java設(shè)計(jì)模式之代理模式,本文詳細(xì)的介紹了什么事代理模式和相關(guān)的類和接口,有興趣的可以了解一下
    2017-08-08
  • Java實(shí)現(xiàn)雙色球抽獎(jiǎng)隨機(jī)算法示例

    Java實(shí)現(xiàn)雙色球抽獎(jiǎng)隨機(jī)算法示例

    本篇文章主要介紹了Java實(shí)現(xiàn)雙色球抽獎(jiǎng)隨機(jī)算法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • SpringBoot2.2.X用Freemarker出現(xiàn)404的解決

    SpringBoot2.2.X用Freemarker出現(xiàn)404的解決

    這篇文章主要介紹了SpringBoot2.2.X用Freemarker出現(xiàn)404的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • springboot+websocket實(shí)現(xiàn)并發(fā)搶紅包功能

    springboot+websocket實(shí)現(xiàn)并發(fā)搶紅包功能

    本文主要介紹了springboot+websocket實(shí)現(xiàn)并發(fā)搶紅包功能,主要包含了4種步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 使用String轉(zhuǎn)換到Map結(jié)構(gòu)

    使用String轉(zhuǎn)換到Map結(jié)構(gòu)

    這篇文章主要介紹了使用String轉(zhuǎn)換到Map結(jié)構(gòu),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java 8 中的 10 個(gè)特性總結(jié)及詳解

    Java 8 中的 10 個(gè)特性總結(jié)及詳解

    本主要介紹Java 8中的新特性,這里整理了相關(guān)資料并整理了10個(gè)特性,逐一介紹說明,有興趣的朋友可以參考下
    2016-09-09
  • @Transactional注解:多個(gè)事務(wù)嵌套時(shí),獨(dú)立事務(wù)處理方式

    @Transactional注解:多個(gè)事務(wù)嵌套時(shí),獨(dú)立事務(wù)處理方式

    這篇文章主要介紹了@Transactional注解:多個(gè)事務(wù)嵌套時(shí),獨(dú)立事務(wù)處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • JAVA8獨(dú)有的map遍歷方式(非常好用)

    JAVA8獨(dú)有的map遍歷方式(非常好用)

    這篇文章主要介紹了JAVA8獨(dú)有的map遍歷方式(非常好用),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12

最新評(píng)論