qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          一個例子理解java面向?qū)ο蟮臋C制

          //定義Gun類
          public abstract class Gun {
          protected String name;
          // 帶參數(shù)的構(gòu)造方法,特殊的方法,名字必須與類名相同
          public Gun() {
          public Gun(String name) {
          this.name = name;
          // 構(gòu)造抽象方法,并在子類中繼承和定義。
          abstract void sound();
          public String getName() {
          return name;
          public void setName(String name) {
          this.name = name;
          //Carbine繼承自Gun
          public class Carbine extends Gun {
          //帶參數(shù)的構(gòu)造方法,特殊的方法,名字必須與類名相同
          public Carbine(String name) {
          this.name = name;
          //Gun類下不同的子類擁有同名的sound()方法,但是內(nèi)容不同,在調(diào)用sound()方法時會根據(jù)具體的Gun而自動調(diào)用相應的方法。
          //這用到了Java的多態(tài)性。
          void sound() http://www.huiyi8.com/jiaoben/
          // TODO Auto-generated method stub
          System.out.println("DaDaDa!"); javascript特效
          //Rifle繼承自Gun
          public class Rifle extends Gun {
          //帶參數(shù)的構(gòu)造方法,是特殊的方法,名字必須與類名相同
          public Rifle(String name) {
          this.name = name;
          //Gun類下不同的子類擁有同名的sound()方法,但是內(nèi)容不同,在調(diào)用sound()方法時會根據(jù)具體的Gun而自動調(diào)用相應的方法。
          //這用到了Java的多態(tài)性。
          void sound() {
          // TODO Auto-generated method stub
          System.out.println("Peng! Peng! Peng!");
          //定義Person類
          public class Person {
          private String name;
          public String getName() {
          return name;
          public void setName(String name) {
          this.name = name;
          // 體現(xiàn)多態(tài)性。
          public void shoot(Person p, Gun g) {
          System.out.println(this.name + " shoot\t" + p.getName() + " using a "
          + g.getName());
          g.sound();
          //在main()函數(shù)中測試
          public class Test {
          public static void main(String[] args) {
          // TODO Auto-generated method stub
          Person p1 = new Person();
          Person p2 = new Person();
          p1.setName("XiaoWang");
          p2.setName("XiaoLi");
          Rifle r = new Rifle("rifle");
          Carbine c = new Carbine("carbine");
          // 將方法的調(diào)用和實現(xiàn)分離,已達到封裝的效果。
          p1.shoot(p2, r);
          p1.shoot(p2, c);

          posted on 2014-08-14 09:30 順其自然EVO 閱讀(191) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 昔阳县| 宣威市| 米林县| 大石桥市| 新竹县| 合山市| 华宁县| 田林县| 蓬莱市| 时尚| 子洲县| 襄城县| 哈巴河县| 探索| 四子王旗| 孟津县| 海口市| 博客| 微博| 西丰县| 高安市| 高密市| 上饶县| 朝阳县| 大同市| 探索| 修文县| 义马市| 伊金霍洛旗| 虞城县| 灯塔市| 丰台区| 始兴县| 凤台县| 出国| 郴州市| 寿阳县| 逊克县| 岑溪市| 依安县| 阳信县|