Java 方法伯病、關(guān)鍵字、重載否过、覆寫

命名要求

命名要求

方法

分為普通方法午笛、構(gòu)造方法、set/get方法
方法名前加兩種類型苗桂,有返回值(8大數(shù)據(jù)類型)药磺,無返回值(void)

普通方法

在對象實例化時可以調(diào)用多次

public static void fun(){     //static為靜態(tài)方法,可以不加
}

方法名稱和類名稱一致

set/get方法

class A1{
    private String name;
    public void setName(String name){
        this.name = name;
    }
    public String(返回類型) getName(){
        return this.name;
    }
}

set方法兩種作用煤伟,修改內(nèi)容和設(shè)置內(nèi)容癌佩。set方法無返回值木缝,用法public void set屬性名(類 屬性名){this.屬性名 = 屬性名},特別注意的是數(shù)組也屬于java類围辙,在get方法中格式為public 類名稱 get屬性名(類 屬性名){return 屬性名}我碟,需要注意的是在數(shù)組生命中格式為public 類名稱[ ] get屬性名(類 屬性名){return 屬性名}。注意[ ]

構(gòu)造方法

在使用關(guān)鍵字new姚建,實例化新對象時調(diào)用矫俺,而且此方法只可以調(diào)用一次。

class Book{
        public Book(){  //構(gòu)造方法的方法名必須與類名一樣
    }
}

static關(guān)鍵字

一掸冤、定義屬性(用static定義屬性厘托,表示公有共享信息,若有一個修改了屬性內(nèi)容稿湿,則其他全部改變)

class Book{
    private String name ;
    private double price;
    static String pub = "beida";
    
    public Book(String name,double price){
        this.name = name;
        this.price = price;
        
    }
    
    public  String getInfo(){
        return "Name:"+this.name+" "+"Price:"+this.price+"Pub:"+this.pub;
    }   
}
public class Exten{
    public static void main(String []args){
        Book ba = new Book("Java",36.1);
        Book bb = new Book("Android",12.4);
        ba.pub = "qinghua";
        System.out.println(ba.getInfo());
        System.out.println(bb.getInfo());
    }
}
-------------------------------------------------
用static定義前后結(jié)果
F:\prac>java Exten
Name:Java Price:36.1Pub:qinghua
Name:Android Price:12.4Pub:beida

F:\prac>javac Exten.java

F:\prac>java Exten
Name:Java Price:36.1Pub:qinghua
Name:Android Price:12.4Pub:qinghua

static定義方法

this/super關(guān)鍵字

this/super 可調(diào)用方法催烘、屬性

| NO | 區(qū)別 | this |super|
| :--------: | :----: | :----: | :--------: | :----: | :----: |:
|1 | 區(qū)別 | 調(diào)用本類構(gòu)造、本類方法缎罢、本類屬性 |子類調(diào)用父類構(gòu)造伊群、方法、屬性|
| 2 | 形式 | 先查找本類策精,若無查找父類 |不查找子類舰始,直接調(diào)用父類|
|3 | 特殊 |表示本類當(dāng)前對象 |~||

final

1、final定義的類不能有子類咽袜;

final class A{
}
class B extends A{ //錯誤
}

2丸卷、使用final定義的方法不能被子類所覆寫;

final class A{
     public final void  fun(){   //注意final和void順序询刹,不可錯
   }
}
class B extends A{ //錯誤
    public  void  fun(){
   }
}

3谜嫉、使用final定義的變量就變成了常量,常量在定義的時候必須設(shè)置好內(nèi)容凹联,并不能被修改沐兰。
4、全局常量
常量全部大寫STEDENTNAME蔽挠,變量studentName住闯,方法public void setName

public static final String MSG = "ff";

this.方法()/super.方法()

this.方法()會首先查找本類中的方法,若查找到直接調(diào)用澳淑,若查詢不到則查詢父類比原,有則調(diào)用,沒有則編譯報錯(找不到此方法)杠巡。
super.()方法會直接查詢父類量窘,不會查詢子類

class A{
    public void fun(){
        print();
    }
    public void print(){
        System.out.println("A");
    }
}
class B extends A{
    public void print(){
        super.print();    //this.print();
        System.out.println("B");
    }
}
public class Exten {
    public static void main(String [] args){
        B b = new B();
        b.fun();
    }
}

方法重載

方法的名稱相同,參數(shù)的類型和個數(shù)不同氢拥。

public class Exten {
    public static void main(String args []){
        System.out.println(fun(3,5));
        System.out.println(fun(3,5,9));
        System.out.println(fun(3.1,5.6));
    }
    public static int fun(int x,int y){
        return x+y;
    }
    public static int fun(int x,int y,int z){
        return x+y+z;
    }
    public static double fun(double x,double y){    
    ----public static double fun(int x,int y)---錯誤蚌铜,需一致
        return x+y;
    }
}

方法覆寫(父類功能不足锨侯,而子類還必須使用,就會使用覆寫)

1厘线、觀察實例化的是那一個類识腿;
2出革、觀察這個實例化的類里面調(diào)用的方法是否是已經(jīng)被覆寫過的造壮,如果沒覆寫過則調(diào)用父類的。

//返回值一樣骂束,方法名相同耳璧,聲明類型相同,數(shù)據(jù)類型相同展箱,才為覆寫
class A{
    public void fun(){
        System.out.println("A類中的方法");
    }
}
class B extends A{
    public void fun(){
        System.out.println("B類中的方法");
    }
}
class C extends A{
//Exten.java:12: 錯誤: C中的fun()無法覆蓋A中的fun()旨枯;
//若改為public String  fun()  ^ 返回類型String與void不兼容
    public void fun(){   
        System.out.println("C類中的方法");
    }
}
public class Exten {
    public static void main(String [] args){
        B b = new B();
        b.fun();
        C c = new C();
        c.fun();
    }
}

3、權(quán)限問題(public>默認(rèn)>private)
子類不可以使用比父類更高的權(quán)限混驰,使用后就不是覆寫了

//覆寫
class A{
    public void fun(){
        print();
    }
    public void print(){
        System.out.println("A");
    }
}
class B extends A{
    public void print(){
        System.out.println("B");
    }
}
public class Exten {
    public static void main(String [] args){
        B b = new B();
        b.fun();
    }
}
------------------------------------------------------
//非覆寫
class A{
    public void fun(){
        print();
    }
    private void print(){
        System.out.println("A");
    }
}
class B extends A{
    public void print(){
        System.out.println("B");
    }
}
public class Exten {
    public static void main(String [] args){
        B b = new B();
        b.fun();
    }
}

屬性覆寫

基礎(chǔ)父類

class Array{
    private int [] data;
    //private int len;
    private int foot;
    public Array(int len){
        if(len>0){
            this.data = new int [len];
        }else{
            this.data = new int [1];
        }
    }
    public boolean add(int num){
        if(this.foot<this.data.length){
            this.data[this.foot++] = num;
            return true;
        }
        return false;
    }
    public int [] getData(){
            return this.data;
        }
    }
}
public class Demo{
    public static void main(String args[]){
        Array a = new Array(3);
        System.out.println(a.add(10));
        System.out.println(a.add(20));
        System.out.println(a.add(30));
        System.out.println(a.add(100));
        System.out.println(a.add(100));
        int [] temp = a.getData();
        for(int x=0;x<temp.length;x++){
            System.out.println(temp[x]);
        }
}
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末攀隔,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子栖榨,更是在濱河造成了極大的恐慌昆汹,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件婴栽,死亡現(xiàn)場離奇詭異满粗,居然都是意外死亡,警方通過查閱死者的電腦和手機愚争,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門映皆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人轰枝,你說我怎么就攤上這事捅彻。” “怎么了鞍陨?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵沟饥,是天一觀的道長。 經(jīng)常有香客問我湾戳,道長贤旷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任砾脑,我火速辦了婚禮幼驶,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘韧衣。我一直安慰自己盅藻,他們只是感情好购桑,可當(dāng)我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著氏淑,像睡著了一般勃蜘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上假残,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天缭贡,我揣著相機與錄音,去河邊找鬼辉懒。 笑死阳惹,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的眶俩。 我是一名探鬼主播莹汤,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼颠印!你這毒婦竟也來了纲岭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤线罕,失蹤者是張志新(化名)和其女友劉穎止潮,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體闻坚,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡沽翔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了窿凤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仅偎。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖雳殊,靈堂內(nèi)的尸體忽然破棺而出橘沥,到底是詐尸還是另有隱情,我是刑警寧澤夯秃,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布座咆,位于F島的核電站,受9級特大地震影響仓洼,放射性物質(zhì)發(fā)生泄漏介陶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一色建、第九天 我趴在偏房一處隱蔽的房頂上張望哺呜。 院中可真熱鬧,春花似錦箕戳、人聲如沸某残。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽玻墅。三九已至介牙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間澳厢,已是汗流浹背环础。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留赏酥,地道東北人喳整。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓谆构,卻偏偏與公主長得像裸扶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子搬素,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法呵晨,類相關(guān)的語法,內(nèi)部類的語法熬尺,繼承相關(guān)的語法摸屠,異常的語法,線程的語...
    子非魚_t_閱讀 31,639評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理粱哼,服務(wù)發(fā)現(xiàn)季二,斷路器,智...
    卡卡羅2017閱讀 134,664評論 18 139
  • 一:java概述:1揭措,JDK:Java Development Kit胯舷,java的開發(fā)和運行環(huán)境,java的開發(fā)工...
    ZaneInTheSun閱讀 2,654評論 0 11
  • 1.import static是Java 5增加的功能,就是將Import類中的靜態(tài)方法绊含,可以作為本類的靜態(tài)方法來...
    XLsn0w閱讀 1,228評論 0 2
  • 一響清風(fēng)一場歡躬充。 一罷心殤一云間逃顶。 一紙朱顏一紅砂。 一世歡笑一情緣充甚。 相識自是密無間以政, 一時若無言,暫罷故人人自...
    白子裳閱讀 364評論 0 1