亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

從實(shí)踐認(rèn)識(shí)修飾符

shevy / 1469人閱讀

摘要:從實(shí)踐認(rèn)識(shí)修飾符修飾符分類(lèi)說(shuō)到修飾符,大家都知道有,說(shuō)到它們的區(qū)別,相信大家腦海會(huì)出現(xiàn)一張圖。同一個(gè)類(lèi)同包非子類(lèi)子類(lèi)不同包非子類(lèi)是否否否是是否否是是是否是是是是那么怎么從代碼層面解釋呢,學(xué)東西不能停留在理論層面,畢竟只是一份實(shí)踐的工作。

從實(shí)踐認(rèn)識(shí)修飾符 1 修飾符分類(lèi)

說(shuō)到修飾符,大家都知道有private deafult protect public,說(shuō)到它們的區(qū)別,相信大家腦海會(huì)出現(xiàn)一張圖。

? 同一個(gè)類(lèi) 同包非子類(lèi) 子類(lèi) 不同包非子類(lèi)
private
default
protected
public

那么怎么從代碼層面解釋呢,學(xué)東西不能停留在理論層面,畢竟只是一份實(shí)踐的工作。所以請(qǐng)看下面講解,畢竟實(shí)踐才是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),說(shuō)白了就是寫(xiě)一些demo,驗(yàn)證一下,工作中我們不了解某個(gè)方法或者某個(gè)類(lèi)的時(shí)候,本人推薦寫(xiě)一些demo,做一些test,本人覺(jué)得這是技巧之一。

2 代碼展示

本實(shí)例訪問(wèn)方法只有兩種

創(chuàng)建對(duì)象訪問(wèn),形成組合關(guān)系

繼承類(lèi),形成繼承關(guān)系

2.1 引入必要的maven

寫(xiě)demo驗(yàn)證自己想法時(shí)候,推薦使用test框架,不同每次都寫(xiě)一個(gè)main方法,只要一個(gè)注解@test就能解決問(wèn)題

 
    junit
    junit
    4.12
    compile
 

也可以使用slf4j框架來(lái)打印信息


    org.slf4j
    slf4j-api
    1.7.5


    org.slf4j
    slf4j-simple
    1.6.4

也可以使用lombok框架,實(shí)現(xiàn)注解@getter和@setter代替getter方法和setter方法


    org.projectlombok
    lombok
    1.16.16
2.2 private

需要?jiǎng)?chuàng)建對(duì)象 調(diào)用類(lèi)中屬性

2.2.1 實(shí)例
package classtest;

import lombok.Getter;
import lombok.Setter;
import org.junit.Test;

/**
 * @Author buer
 * @create 2019/4/28 10:06
 * @description 父類(lèi)
 */
@Getter@Setter
public class Animal {
    public int id = 1;
    private String name="chen";
    protected String parent = "parent";

    @Test
    public void eat(){
        Animal animal  = new Animal();
        System.out.println(animal.name);
    }
}
2.2.2 結(jié)果

chen

ps:貼圖很麻煩 就貼字了

2.2.3 結(jié)論

在本類(lèi)創(chuàng)建對(duì)象可以直接訪問(wèn)private屬性字段

2.3 default

創(chuàng)建對(duì)象,訪問(wèn)屬性

2.3.1 實(shí)例
package classtest;
@Getter
@Setter
public class Classtest {
    @Test
    public void defaultTest(){
        Animal animal  = new Animal();
        System.out.println(animal.name);
    }
}

另一個(gè)類(lèi)name屬性改變--》protected

package classtest;
@Getter
@Setter
 public class Animal {
    private int id;
    String name="chen";
    protected String parent;

}
2.3.2 結(jié)果

chen

2.3.3 結(jié)論

在同一個(gè)包中創(chuàng)建對(duì)象可以直接訪問(wèn),不同包下創(chuàng)建對(duì)象不能訪問(wèn)default 默認(rèn)屬性字段,例子省略

2.4 protected

繼承父類(lèi),不需要?jiǎng)?chuàng)建父類(lèi)對(duì)象,直接訪問(wèn)protected屬性字段

2.4.1 實(shí)例
package butong;

import classtest.Animal;
import org.junit.Test;

/**
 * @Author buer
 * @create 2019/5/4 14:37
 * @description
 */


public class Animalbutong extends Animal{

    @Test
    public void defaultTest(){
        System.out.println(parent);
    }
}
2.4.2 結(jié)果

chen

2.4.3 結(jié)論

在子類(lèi)中可以直接進(jìn)訪問(wèn)父類(lèi)字段,不需要?jiǎng)?chuàng)建對(duì)象

2.5 public

在不同包以及非子類(lèi)關(guān)系下,創(chuàng)建對(duì)象可以訪問(wèn)public屬性字段

2.5.1 實(shí)例

test屬性是public

package butong;

import classtest.Animal;
import org.junit.Test;

/**
 * @Author buer
 * @create 2019/5/4 14:37
 * @description
 */


public class Animalbutong {

    @Test
    public void defaultTest(){
        Animal animal = new Animal();
        System.out.println(animal.test);
    }
}
2.5.2 結(jié)果

chen

2.5.3 結(jié)論

在不同包以及非子類(lèi)關(guān)系下,創(chuàng)建對(duì)象可以訪問(wèn)public屬性字段

公眾號(hào)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/74398.html

相關(guān)文章

  • 正則表達(dá)小結(jié)與小知識(shí)點(diǎn)集錦

    摘要:正則表達(dá)式小結(jié)創(chuàng)建方式直接量語(yǔ)法創(chuàng)建對(duì)象的語(yǔ)法語(yǔ)法屬性說(shuō)明我們寫(xiě)的正則表達(dá)式的規(guī)則,而則是規(guī)則的修飾符,為全局匹配,為區(qū)分大小寫(xiě)的匹配,為多行匹配。注意正則表達(dá)式,一定要加上修飾符。 背景介紹 這幾天,剛來(lái)公司,導(dǎo)師安排點(diǎn)任務(wù)增加些功能,以便熟悉了開(kāi)發(fā)環(huán)境。接到的任務(wù)中,有一個(gè)環(huán)節(jié)需要處理一個(gè)業(yè)務(wù)的json數(shù)據(jù),具有多級(jí)嵌套,我要做的是讓使用者可以修改其中的userName。 有兩個(gè)思...

    Shonim 評(píng)論0 收藏0
  • 讀懂 SOLID 的「里氏替換」原則

    摘要:什么是里氏替換原則某個(gè)對(duì)象實(shí)例的子類(lèi)實(shí)例應(yīng)當(dāng)可以在不影響程序正確性的基礎(chǔ)上替換它們。除了在編程語(yǔ)言層面,在前端實(shí)際工作中,你可能會(huì)聽(tīng)到一個(gè)叫作的概念,這個(gè)概念我認(rèn)為也是里氏替換原則的一直延伸。 這是理解SOLID原則,關(guān)于里氏替換原則為什么提倡我們面向抽象層編程而不是具體實(shí)現(xiàn)層,以及為什么這樣可以使代碼更具維護(hù)性和復(fù)用性。 什么是里氏替換原則 Objects should be rep...

    vibiu 評(píng)論0 收藏0
  • 深入理解虛擬機(jī)之類(lèi)文件結(jié)構(gòu)

    摘要:對(duì)象創(chuàng)建與訪問(wèn)指令雖然類(lèi)實(shí)例和數(shù)組都是對(duì)象,但虛擬機(jī)對(duì)類(lèi)實(shí)例和數(shù)組的創(chuàng)建和操作使用了不同的字節(jié)碼指令。異常處理指令在虛擬機(jī)中,處理異常語(yǔ)句不是由字節(jié)碼指令來(lái)實(shí)現(xiàn)的,而是采用異常表的方式。 《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐(第二版》讀書(shū)筆記與常見(jiàn)面試題總結(jié) 本節(jié)常見(jiàn)面試題(推薦帶著問(wèn)題閱讀,問(wèn)題答案在文中都有提到): 簡(jiǎn)單介紹一下Class類(lèi)文件結(jié)構(gòu)(常量池主要存放的是...

    張憲坤 評(píng)論0 收藏0
  • 重新認(rèn)識(shí)vue之事件阻止冒泡

    摘要:通用解決辦法事件冒泡了嘛,那就阻止事件冒泡唄。很完美有沒(méi)有,這就不用在事件響應(yīng)邏輯中去處理事件細(xì)節(jié)了。 冒泡的表現(xiàn) 近期用vue做了一個(gè)需求,大概是同一個(gè)區(qū)域,點(diǎn)擊不同位置有不同的響應(yīng)函數(shù),還有個(gè)總的響應(yīng)函數(shù),好吧,如下圖所示: showImg(https://segmentfault.com/img/remote/1460000015852878?w=1962&h=392); 他們的...

    marek 評(píng)論0 收藏0
  • 002-讀書(shū)筆記-Vue官網(wǎng) 認(rèn)識(shí)數(shù)據(jù)與指令

    摘要:首先把改成的形式這是一段測(cè)試文字綁定最后的顯示效果如下,如果要看具體的形式,可以在谷歌人員開(kāi)發(fā)工具中自行查看指令的組成部分經(jīng)過(guò)上面的介紹,應(yīng)該對(duì)指令有一個(gè)大概的認(rèn)識(shí),下面就來(lái)對(duì)指令的每一項(xiàng)進(jìn)行說(shuō)明。 這篇筆記主要用來(lái)說(shuō)明 Vue 中數(shù)據(jù)的定義和指令的一些特性,后續(xù)會(huì)做更深入的說(shuō)明。 1.Vue中的data函數(shù) 1-1 使用data函數(shù) 由于使用的是單文件組件,因此 Vue 組件中的數(shù)據(jù)...

    hqman 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<