日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

JavaSE03

 路人甲Java 2022-12-15 發(fā)布于北京

概念

本質(zhì):以類的方式組織代碼,以對(duì)象的形式封裝數(shù)據(jù) 抽象

三大特性:封裝、繼承、多態(tài)

一個(gè)類里只能有一個(gè) public class,但可以有多個(gè) class

創(chuàng)建與初始化對(duì)象

使用 new 關(guān)鍵字創(chuàng)建對(duì)象,除了分配內(nèi)存空間,還會(huì)給創(chuàng)建好的對(duì)象進(jìn)行默認(rèn)初始化,以及對(duì)類中構(gòu)造器的調(diào)用

構(gòu)造器

類中的構(gòu)造器也稱為構(gòu)造方法,具有兩個(gè)特點(diǎn):

  • 必須和類的名字相同
  • 必須沒(méi)有返回類型,也不能寫(xiě) viod
//查看 class 文件,自動(dòng)生成的
package com.oop.demo02;

public class Person {
    public Person() {
    }
}
//我們也可以顯式生成
String name;

//無(wú)參構(gòu)造 實(shí)例化 初始值
//1.使用 new 關(guān)鍵字,必須要有構(gòu)造器
public Person(){
    this.name = "John";
}
//2.有參構(gòu)造
//一但定義了有參構(gòu)造,無(wú)參構(gòu)造必須顯式定義!否則會(huì)被覆蓋只留下有參構(gòu)造
//無(wú)參構(gòu)造為空即可
public Person(){
}

public Person(String name){
    this.name = name;
}

//new 的時(shí)候,如果有參數(shù)就走有參構(gòu)造;沒(méi)有參數(shù)則走無(wú)參構(gòu)造(方法重載)

生成構(gòu)造器的快捷鍵:alt + insert -- 選擇Constructor

封裝

該露的露,該藏的藏(內(nèi)部數(shù)據(jù)操作細(xì)節(jié)自己完成,不允許外部干涉。僅暴露少量的方法給外部使用)

記住這句話:屬性私有,get / set

封裝主要用于屬性,一般不用于方法

package com.oop.demo04;

//類  private:私有
public class Student {

    //屬性私有
    private String name; //名字
    private int id; //學(xué)號(hào)
    private char sex; //性別

    //但是可以提供一些可以操作這個(gè)屬性的方法
    //獲得name屬性的方法
    public String getName() {
        return name;
    }

    //設(shè)置name屬性的方法
    public void setName(String name) {
        this.name = name;
    }
}
package com.oop.demo04;

public class Application {
    public static void main(String[] args) {
        Student s1 = new Student();
        //屬性私有,不可獲取和修改!
        //s1.name = "";

        //使用 get、set 方法操作私有屬性
        s1.setName("joy");
        System.out.println(s1.getName());
    }
}

生成 get / set 方法的快捷鍵:alt + insert -- 選擇

封裝的作用:

  • 校驗(yàn)用戶輸入的值(限制用戶的操作)
  • 提高程序的安全性,保護(hù)數(shù)據(jù)
  • 隱藏代碼的實(shí)現(xiàn)細(xì)節(jié)
  • 統(tǒng)一接口
  • 增加系統(tǒng)可維護(hù)性

繼承

繼承的本質(zhì)是一批類的抽象。繼承是類和類之間的一種關(guān)系(除繼承外,還有依賴、組合、聚合等)

Java 中類只有單繼承,沒(méi)有多繼承

修飾符優(yōu)先級(jí):public > protected > default > private

查看繼承順序快捷鍵:ctrl + h

super

this.屬性/方法
super.屬性/方法  -->  父類的
//私有的 super也繼承不了
//當(dāng) new 一個(gè)對(duì)象時(shí),默認(rèn)先執(zhí)行要new的類的父類的構(gòu)造器(隱藏代碼:super()),然后再執(zhí)行該類的構(gòu)造器

super 注意點(diǎn):

  • 代表父類對(duì)象
  • super 調(diào)用父類的構(gòu)造方法,必須在構(gòu)造方法的第一個(gè)
  • super 必須只能在子類 或 構(gòu)造方法中
  • super 和 this 不能同時(shí)調(diào)用構(gòu)造方法!
  • 只能在繼承條件下才可以使用

this 注意點(diǎn):

  • this 代表調(diào)用者這個(gè)對(duì)象
  • 沒(méi)有繼承也能使用

方法重寫(xiě)

由此可見(jiàn) 靜態(tài)方法和非靜態(tài)方法區(qū)別很大
靜態(tài)方法:方法的調(diào)用只看左邊定義的類型
非靜態(tài)方法:才可以重寫(xiě)!public!
重寫(xiě)的方法左邊有個(gè)小箭頭!

小結(jié):
重寫(xiě)的前提:繼承,重寫(xiě)的是方法而不是屬性
1.方法名必須相同
2.參數(shù)列表必須相同!
3.修飾符:范圍可擴(kuò)大 (public > protected > default > private)
private 的方法不可重寫(xiě)!
4.重寫(xiě)拋出的異常:范圍可以縮小,但不能擴(kuò)大!

為什么需要重寫(xiě)?
1.父類的功能,子類不一定需要或者不滿足使用要求。
alt + insert :選擇 override

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多