<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      fengye0518

      導航

      Java學習 (23) 對象篇(03)封裝&繼承&多態

      封裝

      • 我們程序設計要追求“高內聚,低耦合”

        • 高內聚:就是類的內部數據操作細節自己完成,不允許外部干涉
        • 低耦合:僅暴露少量的方法給外部使用
      • 通常,應禁止直接訪問一個對象中數據的實際表示,而應通過操作接口來訪問,這稱為信息隱藏

      • 屬性私有,get/set

        • get作用是獲得相應數據
        • set是給get獲得數據賦予值
      • 封裝很基礎,易懂,需牢牢掌握

      語法實例

      public class Student {
      
          //屬性私有
          private String name;
          private int age;
          private String sex;
      
          //提供可操作方法
      
          //獲得相應數據
          public String getName(){
              return this.name;
          }
          //賦予相應數據的值
          public void setName(String name){
              this.name = name;
          }
      
          public int getAge() {
              return age;
          }
      
          public void setAge(int age) {
              if (age >= 100 || age <= 0){
                  System.out.println("不存在!");
              }else {
                  this.age = age;
              }
          }
      
      
          public String getSex(){
              return sex;
          }
          public void setsex(String sex){
              this.sex = sex;
          }
      }
      
      import com.luo.oop.demo03.Student;
      
      public class Application {
          public static void main(String[] args){
              Student s1 = new Student();
      
              s1.setName("楓葉");
              System.out.println(s1.getName());
      
              s1.setAge(101);
              System.out.println(s1.getAge());
      
              s1.setsex("男");
              System.out.println(s1.getSex());
          }
      }
      /*run:
      	楓葉
      	不存在!
      	0
      	男
      */
      

      具體講解視頻(狂神說Java)

      面向對象08:封裝詳解_嗶哩嗶哩_bilibili


      繼承

      • 繼承的本質是對某一批類的抽象,從而實現對現實世界更好的建模
      • extends 的意思是“擴展”。子類是父類的擴展
      • JAVA中類只有單繼承,沒有多繼承
      • 繼承是類和類之間的一種關系。除此之外,類和類之間的關系還有依賴、組合、聚合等
      • 繼承關系的倆個類,一個為子類(派生類).一個為父類(基類)。子類繼承父類,使用關鍵字extends來表示。子類和父類之間,從意義上講應該具有"is a"的關系

      Object 類

      • object 類是最高級別的類,高于任何類

      語法實例

      public class Person {
      
          //public
          //protected
          //default
          //private
      
          public String say = "你屬豬";
      
          private int money = 10_0000_0000;
          public int getMoney(){
              return money;
          }
          public void setMoney(int money){
              this.money = money;
          }
      
      }
      
      public class Student extends Person{}
      
      import com.luo.oop.demo04.Student;
      
      
      public class Application {
          public static void main(String[] args){
              Student student = new Student();
      
              System.out.println(student.getMoney());
      
              System.out.println(student.say);
      
      
      }
      /*run:
      	1000000000
      	你屬豬
      */
      

      具體講解視頻(狂神說Java)

      面向對象09:什么是繼承_嗶哩嗶哩_bilibili


      Super 關鍵字

      super注意點:

      • super調用父類的構造方法,必須在構造方法的第一個
      • super 必須只能出現在子類的方法或者構造方法中
      • super和 this 不能同時調用構造方法

      語法實例

      public class Person {
      
          public Person(){
              System.out.println("Person無參調用");
          }
      
          public void print(){
              System.out.println("Person");
          }
      
      
          protected String name = "楓葉";
      
      
      }
      
      public class Student extends Person{
      
      
      //    private String name = "fengye";
      
          public Student(){
              /*隱藏代碼
              super();
               */
              System.out.println("Student無參調用");
          }
      
          public void print(){
              System.out.println("Student");
          }
      
          public void text1(){
              print();
              this.print();
              super.print();
          }
      
          public void text(String name){
              System.out.println(name);
              System.out.println(this.name);
              System.out.println(super.name);
          }
      
      
      }
      
      public class Application {
      
          public static void main(String[] args) {
              Student student = new Student();
              //student.text("小楓");
              //student.text1();
          }
      }
      

      super 與 this 不同點

      • super
        • 代表父類對象的應用前提
        • 只能在繼承條件才可以使用構造方法
        • 基于父類的構造
      • this
        • 本身調用者這個對象
        • 沒有繼承也可以使用
        • 是基于本類的構造

      具體講解視頻(狂神說Java)

      面向對象10:Super詳解_嗶哩嗶哩_bilibili


      重寫

      • 需要有繼承關系,子類重寫父類的方法

      • 重寫規則

        1. 方法名必須相同
        2. 參數列表列表必須相同
        3. 修飾符:范圍可以擴大但不能縮小
        4. 拋出的異常:范圍,可以被縮小,但不能擴大
        5. 子類的方法和父類方法必要一致,方法體不同
      • 跟多態一樣,同一件事(方法),父親(父類)和兒子(子類)的處理方式不同,就相當于各有各的想法

      • 重寫:方法名和參數都一樣,實現過程隨意

      • 重載:方法名相同,參數必須不同

      具體講解視頻(狂神說Java)

      面向對象11:方法重寫_嗶哩嗶哩_bilibili


      多態

      • 即同一方法可以根據發送對象的不同而采用多種不同的行為方式

      • 一個對象的實際類型是確定的,但可以指向對象的引用的類型有很多

      • 多態存在條件

        • 有維承關系
        • 子類重寫父類方法
        • 父類引用指向子類對象
      • 注意事項:

        • 多態是方法的多態,屬性沒有多態
        • 類之間必須有聯系
        • 存在必須是繼承關系,方法需要重寫,父類引用指向子類對象,輸出的是子類方法

      語法實例

      public class Person {
          public void run(){
              System.out.println("run");
          }
      }
      
      public class Student extends Person{
          public void run(){
              System.out.println("sun");
          }
      }
      
      public class Application {
          public static void main(String[] args){
      
              //父類的引用可以指向子類的類型
              //對象執行方法主要看對象左邊是否有相關方法,與右邊關系不大
      
              //student 能調用的方法都是自己的或者繼承父類的
              Student s1 = new Student();
              //Person 父類可以指向子類,但是不能調用子類的方法
              Person s2 = new Student();
              Object s3 = new Student();
      
      
              //由于子類調用了父類的方法,所以輸出父類時將會執行子類的方法(重寫方法)
              s2.run();
              s1.run();
          }
      }
      

      具體講解視頻

      面向對象12:什么是多態_嗶哩嗶哩_bilibili


      instanceof 和轉換類型

      **instanceof **

      • instanceof 可以判斷兩個類是否存在父子及相關關系
      public class Person {}
      
      public class Student extends Person{}
      
      public class Teacher extends Person{}
      
      public class Application {
          public static void main(String[] args) {
      
              //Object >String
              //Object >Person >Teacher
              //Object >Person >Student
              //同級或者處于不同父子關系的類則沒有聯系
              Object s1 = new Student();
      
              System.out.println(s1 instanceof Object);    //true
              System.out.println(s1 instanceof Person);    //true
              System.out.println(s1 instanceof Student);   //true
              System.out.println(s1 instanceof Teacher);   //false
              System.out.println(s1 instanceof String);    //false
      
              System.out.println("=================================");
      
              Person s2 = new Student();
      
              System.out.println(s2 instanceof Object);    //true
              System.out.println(s2 instanceof Person);    //true
              System.out.println(s2 instanceof Student);   //true
              System.out.println(s2 instanceof Teacher);   //false
              //System.out.println(s2 instanceof String);    //編譯報錯,同級不能比較
      
              System.out.println("=================================");
      
              Student s3 = new Student();
      
              System.out.println(s3 instanceof Object);    //true
              System.out.println(s3 instanceof Person);    //true
              System.out.println(s3 instanceof Student);   //true
              //理解方式:我雖然和你一個班級,但我倆沒直接聯系
              //System.out.println(s3 instanceof Teacher);   //編譯報錯,同級不能比較
              //System.out.println(s3 instanceof String);    //編譯報錯,不存在聯系
      
          }
      }
      

      轉換類型

      • 父類引用指向子類的對象
      • 把子類轉換為父類,向上轉型,但會失去自己的方法
      • 把父類轉換為子類,向下轉型,,需要強制轉換方便方法的調用,減少重復的代碼

      具體講解視頻

      面向對象13:instanceof和類型轉換_嗶哩嗶哩_bilibili

      posted on 2022-08-20 14:02  落楓葉子  閱讀(53)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 久久精品熟妇丰满人妻久久| 曰韩高清砖码一二区视频| 淮滨县| 国产乱精品一区二区三区| 庆安县| 四虎国产精品永久在线下载| 色综合久久中文综合久久激情| 精品国产美女福到在线不卡| 久久蜜臀av一区三区| 亚洲老熟女一区二区三区 | 亚洲av免费成人精品区| 国产精品中文第一字幕| 国产成人精品午夜2022| 日韩精品三区二区三区| 久久精产国品一二三产品| 国产漂亮白嫩美女在线观看| 称多县| 亚洲www永久成人网站| 7878成人国产在线观看| 艳妇乳肉豪妇荡乳xxx| 亚洲av色综合久久综合| 亚洲最大国产成人综合网站| 激情综合网五月激情五月| 在线涩涩免费观看国产精品| 人妻日韩精品中文字幕| аⅴ天堂中文在线网| 啊┅┅快┅┅用力啊岳网站| 色综合色综合久久综合频道| а天堂中文最新一区二区三区| 蜜臀av一区二区国产精品| 国内精品无码一区二区三区| 欧美孕妇乳喷奶水在线观看| 精品久久精品久久精品久久| 国产精品国产高清国产av| 久久亚洲国产品一区二区| 久久午夜无码鲁丝片直播午夜精品| 大香伊蕉在人线国产最新2005| 狠狠躁夜夜躁无码中文字幕| 把女人弄爽大黄A大片片| 人妻精品中文字幕av| 成人无码精品1区2区3区免费看|