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

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

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

    把困難踩在腳下

    迎難而上

     

    java--面向?qū)ο?/a>

    java最重要的特征就是面向?qū)ο笏枷耄嫦驅(qū)ο笕篌w現(xiàn)是封裝、繼承、多態(tài)。
    1.封裝:把所有具有共性屬性的對象封裝成一個類,這個類中包括他們共有的屬性和功能,使用者不需要知道這些功能是怎樣實現(xiàn)的,只需要知道怎樣用這些功能。就好比如一臺電視機對于使用者來說,絕大部分人不知道電視機內(nèi)部是怎么工作的,但是幾乎每個人都會用,這就是封裝。下面看一個程序:
    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();
           }
    }
    程序運行結(jié)果是:
    張三正在吃飯***
    李四正在睡覺***
    在這個程序新建了一個Per類,在Per類中有兩個屬性name和age,有兩個方法sleep和eat方法。又新建了一個測試類Demo02,在這個類中我們只調(diào)用sleep和eat這兩個方法,但我們并不知道它是怎樣實現(xiàn)的。這就是封裝。
    2.繼承:一個孩子身上的優(yōu)點可以說是繼承了其父親和母親的優(yōu)點,但并不是他父母所有的優(yōu)點這個孩子都繼承了,并且這個孩子還有可能有其父母沒有的優(yōu)點。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();
     
     }
    }
    程序運行結(jié)果是:
    玩***
    好好玩***
    在這個程序新建一個A類,A類中有兩個聲明public的屬性name和age,又一個聲明public的方法fun()。新建一個繼承A類的B類,那么B類就會繼承A類中的name、age屬性和fun()方法。如果將A類中的屬性聲明為private就會出現(xiàn)編譯錯誤,錯誤提示為‘屬性不可見’,如果fun()方法聲明為private也會提示‘方法不可見’。在B類中,又有自己的school屬性和fun1()方法。
    3.多態(tài):多態(tài)主要體現(xiàn)在方法的重載和方法的復寫。
    重載就是同一個類中又好多方法,這些方法名字相同但列表參數(shù)(數(shù)據(jù)類型和參數(shù)個數(shù))不同,這就是方法的重載。
    看下面程序:
    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();
         }
    }
    程序運行結(jié)果是:
    姓名:
    張三
    年齡:
    20
    薪水:
    1000.0
    部門:
    后勤
    姓名:
    李四
    年齡:
    21
    薪水:
    2000.0
    部門:
    技術
    上面程序新建一個YuanGong類,類中定義了兩個構(gòu)造函數(shù)YuanGong,但兩者的列表參數(shù)不同。在測試類Demo02中建立兩個YuanGong對象a和b,a對象使用兩參的進行初始化,b對象使用四參的進行初始化。
    復寫就是子類和父類又同名的方法并且列表參數(shù)也相同,那么子類對象調(diào)用這個方法時就會復寫或是隱藏父類的方法。下面看程序:
    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();
     }
    }
    程序運行結(jié)果為:
    子類中的方法***
    此程序中父類A和子類B中又同名的方法fun(),B類對象p1調(diào)用fun()方法時就會覆蓋A類中的fun()方法,而去調(diào)用自己本身的fun()方法。

     

                                             

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


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


    網(wǎng)站導航:
     

    導航

    統(tǒng)計

    公告

    快樂每一天!

    Everything is an object!

    常用鏈接

    留言簿(2)

    隨筆檔案

    學習網(wǎng)站

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产成人免费网站在线观看| 中文字幕人成人乱码亚洲电影 | 亚洲AV无码AV男人的天堂| 久久国产精品免费专区| 日韩亚洲国产高清免费视频| 免费一级毛片在线播放| 无码人妻AV免费一区二区三区| 亚洲最大在线观看| 免费观看四虎精品国产永久| 国产无遮挡裸体免费视频在线观看| 亚洲国产精品xo在线观看| 四虎永久免费网站免费观看| 日本视频在线观看永久免费| 亚洲日本久久久午夜精品| 亚洲人午夜射精精品日韩| 久久久久av无码免费网| 四虎国产精品永免费| 亚洲成a人片在线观看中文!!!| 亚洲精品老司机在线观看| 日本免费人成在线网站| 国产亚洲精品国产福利在线观看 | 国产午夜无码视频免费网站 | 国产成年无码久久久免费| 亚洲免费观看网站| 亚洲日本中文字幕一区二区三区| 在线观看免费av网站| 免费看黄福利app导航看一下黄色录像| 亚洲人成网址在线观看| 免费A级毛片无码久久版| 污污网站免费观看| 色视频在线观看免费| 亚洲91精品麻豆国产系列在线| 亚洲人成网站18禁止一区| 中文字幕影片免费在线观看 | 国产精品视_精品国产免费| 一级毛片全部免费播放| 一个人看的免费观看日本视频www| 亚洲人成网男女大片在线播放| 亚洲精品无码午夜福利中文字幕 | 一级毛片a免费播放王色| 中文文字幕文字幕亚洲色|