<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    把困難踩在腳下

    迎難而上

     

    java--面向對象

    java最重要的特征就是面向對象思想,面向對象三大體現是封裝、繼承、多態。
    1.封裝:把所有具有共性屬性的對象封裝成一個類,這個類中包括他們共有的屬性和功能,使用者不需要知道這些功能是怎樣實現的,只需要知道怎樣用這些功能。就好比如一臺電視機對于使用者來說,絕大部分人不知道電視機內部是怎么工作的,但是幾乎每個人都會用,這就是封裝。下面看一個程序:
    package com.dr.test3;
    class Per{
     private String name;
     private int age;
     public String getName() {
      return name;
     }
     public void setName(String name) {
      this.name = name;
     }
     public int getAge() {
      return age;
     }
     public void setAge(int age) {
      this.age = age;
     }
     public void eat(){
      System.out.println(name+"正在吃飯***");
     }
     public void sleep(){
      System.out.println(name+"正在睡覺***");
     }
    }
    public class Demo02 {
           public static void main(String args[]){
            Per p1=new Per();
            Per p2=new Per();
            p1.setName("張三");
            p1.setAge(20);
            p2.setName("李四");
            p2.setAge(21);
            p1.eat();
            p2.sleep();
           }
    }
    程序運行結果是:
    張三正在吃飯***
    李四正在睡覺***
    在這個程序新建了一個Per類,在Per類中有兩個屬性name和age,有兩個方法sleep和eat方法。又新建了一個測試類Demo02,在這個類中我們只調用sleep和eat這兩個方法,但我們并不知道它是怎樣實現的。這就是封裝。
    2.繼承:一個孩子身上的優點可以說是繼承了其父親和母親的優點,但并不是他父母所有的優點這個孩子都繼承了,并且這個孩子還有可能有其父母沒有的優點。java類也是這樣,子類可以繼承父類的非私有的方法和屬性,并且還可以擁有自己獨特的屬性和方法。下面看程序:
    package com.dr.test4;
    class A{
     public String name;
     public int age;
     public void fun(){
      System.out.println("玩***");
     }
    }
    class B extends A{
      String school;
      void fun1(){
      System.out.println("好好玩***");
     }
    }
    public class Demo01{
     public static void main(String args[]){
     B p1=new B();
     p1.name="張三";
     p1.age=20;
     p1.school="南京大學";
     p1.fun();
     p1.fun1();
     
     }
    }
    程序運行結果是:
    玩***
    好好玩***
    在這個程序新建一個A類,A類中有兩個聲明public的屬性name和age,又一個聲明public的方法fun()。新建一個繼承A類的B類,那么B類就會繼承A類中的name、age屬性和fun()方法。如果將A類中的屬性聲明為private就會出現編譯錯誤,錯誤提示為‘屬性不可見’,如果fun()方法聲明為private也會提示‘方法不可見’。在B類中,又有自己的school屬性和fun1()方法。
    3.多態:多態主要體現在方法的重載和方法的復寫。
    重載就是同一個類中又好多方法,這些方法名字相同但列表參數(數據類型和參數個數)不同,這就是方法的重載。
    看下面程序:
    package com.dr.test4;
    class YuanGong{
     String name;
     int age;
     float salary;
     String depart;
     public String getName() {
      return name;
     }
     public void setName(String name) {
      this.name = name;
     }
     public int getAge() {
      return age;
     }
     public void setAge(int age) {
      this.age = age;
     }
     public float getSalary() {
      return salary;
     }
     public void setSalary(float salary) {
      this.salary = salary;
     }
     public String getDepart() {
      return depart;
     }
     public void setDepart(String depart) {
      this.depart = depart;
     }
     public YuanGong(String name,int age){
          this.setName(name);
          this.setAge(age);
          this.setSalary(1000);
          this.setDepart("后勤");
     }
     public YuanGong(String name,int age,float salary,String depart){
       this.setName(name);
       this.setAge(age);
       this.setSalary(salary);
       this.setDepart(depart);
     }
     public void print(){
       System.out.println("姓名:"+'\n'+name+'\n'+"年齡:"+'\n'+
         age+'\n'+"薪水:"+'\n'+salary+'\n'+"部門:"+'\n'+depart);
     }
    }
    public class Demo02 {
         public static void main(String args[]){
          YuanGong a=new YuanGong("張三",20);
          YuanGong b=new YuanGong("李四",21,2000,"技術");
          a.print();
          b.print();
         }
    }
    程序運行結果是:
    姓名:
    張三
    年齡:
    20
    薪水:
    1000.0
    部門:
    后勤
    姓名:
    李四
    年齡:
    21
    薪水:
    2000.0
    部門:
    技術
    上面程序新建一個YuanGong類,類中定義了兩個構造函數YuanGong,但兩者的列表參數不同。在測試類Demo02中建立兩個YuanGong對象a和b,a對象使用兩參的進行初始化,b對象使用四參的進行初始化。
    復寫就是子類和父類又同名的方法并且列表參數也相同,那么子類對象調用這個方法時就會復寫或是隱藏父類的方法。下面看程序:
    package com.dr.test4;
    class A{
     public String name;
     public int age;
     public void fun(){
      System.out.println("父類中方法***");
     }
    }
    class B extends A{
      String school;
      public void fun(){
       System.out.println("子類中的方法***");
      }
    }
    public class Demo01{
     public static void main(String args[]){
     B p1=new B();
     p1.name="張三";
     p1.age=20;
     p1.school="南京大學";
     p1.fun();
     }
    }
    程序運行結果為:
    子類中的方法***
    此程序中父類A和子類B中又同名的方法fun(),B類對象p1調用fun()方法時就會覆蓋A類中的fun()方法,而去調用自己本身的fun()方法。

     

                                             

    posted on 2010-10-18 11:44 馮魁 閱讀(91) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    公告

    快樂每一天!

    Everything is an object!

    常用鏈接

    留言簿(2)

    隨筆檔案

    學習網站

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲熟女乱色一区二区三区| 亚洲国产中文在线二区三区免| 亚洲av无码专区在线观看下载| 青青草a免费线观a| 亚洲国产人成在线观看| 免费做爰猛烈吃奶摸视频在线观看| 亚洲婷婷天堂在线综合| 成人奭片免费观看| 亚洲1区2区3区精华液| 国产在线a不卡免费视频| 青青草国产免费国产是公开| 亚洲熟伦熟女新五十路熟妇| 91在线免费观看| 久久久久亚洲AV片无码下载蜜桃 | 亚洲国产成人精品久久| 99久久免费国产香蕉麻豆| 亚洲一区二区三区丝袜| 国产成人无码a区在线观看视频免费 | 亚洲男人天堂影院| 女人张开腿等男人桶免费视频| 亚洲色大成网站WWW国产| 四虎永久在线精品视频免费观看| 无码一区二区三区亚洲人妻| 亚洲人成影院在线观看| 国产午夜免费高清久久影院 | 色欲aⅴ亚洲情无码AV蜜桃| 国产乱弄免费视频| a级黄色毛片免费播放视频| 亚洲欧洲久久精品| 国产午夜影视大全免费观看| 中文字幕av免费专区| 亚洲国色天香视频| 亚洲国产精品尤物YW在线观看| 99在线热播精品免费99热| 亚洲午夜久久久久久尤物| 四虎永久在线精品免费影视| 一区二区三区无码视频免费福利| 久久精品国产亚洲av麻豆图片| 亚洲国产精品日韩| 国产精品69白浆在线观看免费| 成人国产网站v片免费观看|