日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

语法基础(三. 类,属性,方法,方法重载,方法重写,构造方法,访问修饰符)

發布時間:2024/3/13 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 语法基础(三. 类,属性,方法,方法重载,方法重写,构造方法,访问修饰符) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

語法基礎(三. 類,屬性,方法,方法重載,方法重寫,構造方法,訪問修飾符)

(如有錯誤,歡迎指正,感謝!)

類是面向對象的程序設計中的概念,實現信息的封裝

概念: 類就是擁有相等行為和相同的屬性的對象的集合。(是一種比較抽象的數據類型,稱為引用數據類型)
    比如:人是一個類,具體到一個人,這個人就是一個對象,"名字,身高,體重"是這個對象的屬性;"吃飯,吃東西"這些行為就是對象的方法。

語法規范:

[訪問修飾符] class 類名{

}

類的三大特性:

1. 封裝性
2. 繼承性
3. 多態性

類比較抽象,是一個群體概念。


屬性

  • 類或者對象具有的特征在程序中稱為屬性

語法規范:

[修飾符] 屬性類型 屬性名稱 [=默認值]


  • 具體對象的屬性數據稱為屬性值。

  • 同一類的不同對象,都具有相同的屬性,但各個對象都擁有各自的屬性值。

類中的三種屬性

  • 對象屬性
  • 類(靜態)屬性
  • 局部屬性

  • 方法(函數)

    • 類或者對象的行為稱為方法

    作用:

    1. 用于定義功能。

    2. 用于封裝代碼提高代碼的復用性。

    語法規范:

    [訪問修飾符] 返回值類型 方法名(參數列表){
       方法體
    }

    類中的三種方法:

  • 對象方法
  • 靜態方法
  • 構造方法

  • 方法的重載

    • 一個類中出現兩個或兩個以上同名方法,只要方法的參數,或者參數的類型不同,就可以說這個方法重載了(與返回值類型和訪問修飾符無關)。
    public class A{public void a(){System.out.println("================");}/*public int a(){System.out.println(""); // 方法沖突}private int a(){ // 方法沖突System.out.printf("----");}*/private void a(char ch){}public int a(int num){System.out.println("int num = "+num);return num;}public void a(String num){System.out.println("String num = "+num);} }
    • 構造方法,類方法,對象方法,final方法均可以被重載

    方法的重寫

    • 一般用于子類中,如果想要重寫父類的方法,實現不同的功能。

    重寫規則:

  • 重寫的方法必須與被重寫方法一模一樣(包括返回值類型)。

  • 重寫方法的訪問修飾符,一定要大于等于被重寫方法的訪問修飾符

  • 重寫方法拋出的異常必須和被重寫方法拋出的異常一致,或者是其子類異常

  • 靜態方法不能被重寫,但是子類可以有同名的靜態方法。

  • final方法不能覆蓋重寫,如果各個子類也去覆蓋這個final方法,那父類的這個方法再用final修飾就沒啥意義了



  • //父類 public class A {public void a(){System.out.println("父類A");}protected void b(){System.out.println("父類B");}public static void c(){System.out.println("父類靜態方法C");} } //子類 public class B extends A {@Overridepublic void a(){System.out.println("子類重寫A");}/*@Overrideprivate void B(){ 重寫方法,訪問修飾符不能變小}*/@Overridepublic void c(){System.out.println("子類重寫B,訪問修飾符由protected改為public");}/*@Overridepublic static void c(){ 父類靜態方法不能被覆蓋重寫System.out.println("===");}*/public static void c(){System.out.println("子類同名方法");}}


    構造方法


    作用:

  • 構造出來一個類的實例(實例化對象)

  • 對構造出來個一個類的實例(對象)初始化。

  • 語法規范:

    [訪問修飾符]  類名(參數列表){

    }


    規則:

    • 方法名與類名相同
    • 可以有 0 個、1 個或多個參數
    • 沒有任何返回值,包括 void
    • 默認返回類型就是對象類型本身
    • 只能與 new 運算符結合使用
    • 構造方法不能被 static、final、abstract 等修飾。

    注意:

    • 構造方法的調用是在創建一個對象時,使用new操作自動進行的。

    • 接口不允許被實例化,所以接口中沒有構造方法。

    • 類中必定有構造方法,若不寫,系統自動添加無參的默認空構造方法

    • 一旦手動定義了構造方法,默認的無參空構造方法就不再存在。



    public class C {public static void main(String[] args) {C c=new C(); // 不報錯,若不手動添加構造方法,系統自動添加無參的默認空構造方法} }

    public class C {public C(int num){System.out.println(num);}public C(String string){System.out.println("=========");}public static void main(String[] args) {// C c=new C(); 報錯,默認空構造方法不再存在C c=new C("有參構造");} }

    訪問修飾符

    • Java的四個關鍵字:public、protected、default、private
      (決定了修飾過的東西可以被誰使用)

    訪問權限類包子類其他包
    public
    protected×
    default××
    private×××

    訪問權限范圍越小,安全性越高

    • public: 都可以隨意訪問

    • protected:包內可見,繼承該類的子類(即使該類在其它包)實例(對象)可以訪問,不然在其它包中相當于private權限
      即便是父類對象本身,在其它包也無法訪問自己類中protected修飾的屬性或方法

    • default:在同一個包內均可被隨意訪問,其它包不可以

    • private: 除啦可以在自己的類中隨便訪問,其它任何地方都不能訪問

    注意:

    • 如果不添加訪問類型,默認為default



    包結構: domo01—A(父類) demo02—B(子類)

    public class A {public void a(String string){System.out.println("public修飾的a方法");}protected String b(String string){System.out.println("protected修飾的b方法");return string;}void c(String string){System.out.println("默認default修飾的c方法");}private void d(String string){System.out.println("private修飾的d方法");}}

    import demo01.A;public class B extends A{public static void main(String[] args) {A a=new A();B b=new B();b.a("public");b.b("protected"); //子類,父類不在同一個包,但是子類對象可以訪問// a.b("protected"); 即便是父類對象本身,在其它包也無法訪問自己類中protected修飾的屬性或方法// b.c("默認default"); 其它包不能訪問// b.d("private"); 其它包不能訪問}}


    參考資料: https://www.cnblogs.com/yb38156/p/9599820.html
    ( 注:部分資料參考網絡,如有侵權請聯系。)

    總結

    以上是生活随笔為你收集整理的语法基础(三. 类,属性,方法,方法重载,方法重写,构造方法,访问修饰符)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。