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

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

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

    dream.in.java

    能以不變應萬變是聰明人做事的準則。萬事從小事做起,積累小成功,問鼎大成功,是成功者的秘訣。

    必看的5個JAVA經典實例(一)

    1.一個飼養員給動物喂食物的例子體現JAVA中的面向對象思想,接口(抽象類)的用處

    package com.softeem.demo;

    /**
    *@author leno
    *動物的接口
    */
    interface Animal {
        public void eat(Food food);
    }

    /**
    *@author leno
    *一種動物類:貓
    */
    class Cat implements Animal {
        public void eat(Food food) {
            System.out.println("小貓吃" + food.getName());
        }
    }

    /**
    *@author leno
    *一種動物類:狗
    */
    class Dog implements Animal {
        public void eat(Food food) {
            System.out.println("小狗啃" + food.getName());
        }
    }

    /**
    *@author leno
    *食物抽象類
    */
    abstract class Food {
        protected String name;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    /**
    *@author leno
    *一種食物類:魚
    */
    class Fish extends Food {
        public Fish(String name) {
            this.name = name;
        }
    }

    /**
    *@author leno
    *一種食物類:骨頭
    */
    class Bone extends Food {
        public Bone(String name) {
            this.name = name;
        }
    }

    /**
    *@author leno
    *飼養員類
    *
    */
    class Feeder {
        /**
         *飼養員給某種動物喂某種食物
         *@param animal
         *@param food
         */
        public void feed(Animal animal, Food food) {
            animal.eat(food);
        }
    }

    /**
    *@author leno
    *測試飼養員給動物喂食物
    */
    public class TestFeeder {
        public static void main(String[] args) {
            Feeder feeder = new Feeder();
            Animal animal = new Dog();
            Food food = new Bone("肉骨頭");
            feeder.feed(animal, food); //給狗喂肉骨頭
            animal = new Cat();
            food = new Fish("魚");
            feeder.feed(animal, food); //給貓喂魚
        }
    }

    2.做一個單子模式的類,只加載一次屬性文件

    package com.softeem.demo;

    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;

    /**
    * @authorleno 單子模式,保證在整個應用期間只加載一次配置屬性文件
    */
    public class Singleton {

        private static Singleton instance;
        private static final String CONFIG_FILE_PATH = "E:\\config.properties";
        private Properties config;

        private Singleton() {
            config = new Properties();
            InputStream is;
            try {
                is = new FileInputStream(CONFIG_FILE_PATH);
                config.load(is);
                is.close();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        public static Singleton getInstance() {
            if (instance == null) {
                instance = new Singleton();
            }
            return instance;
        }

        public Properties getConfig() {
            return config;
        }

        public void setConfig(Properties config) {
            this.config = config;
        }
    }

    3.用JAVA中的多線程示例銀行取款問題

    package com.softeem.demo;

    /**
    *@author leno
    *賬戶類
    *默認有余額,可以取款
    */
    class Account {
        private float balance = 1000;

        public float getBalance() {
            return balance;
        }

        public void setBalance(float balance) {
            this.balance = balance;
        }

        /**
         *取款的方法需要同步
         *@param money
         */
        public synchronized void withdrawals(float money) {
            if (balance >= money) {
                System.out.println("被取走" + money + "元!");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                balance -= money;
            } else {
                System.out.println("對不起,余額不足!");
            }
        }
    }

    /**
    *@author leno
    *銀行卡
    */
    class TestAccount1 extends Thread {
        private Account account;

        public TestAccount1(Account account) {
            this.account = account;
        }

        @Override
        public void run() {
            account.withdrawals(800);
            System.out.println("余額為:" + account.getBalance() + "元!");
        }
    }

    /**
    *@authorleno
    *存折
    */
    class TestAccount2 extends Thread {

        private Account account;

        public TestAccount2(Account account) {
            this.account = account;
        }

        @Override
        public void run() {
            account.withdrawals(700);
            System.out.println("余額為:" + account.getBalance() + "元!");
        }
    }

    public class Test {
        public static void main(String[] args) {
            Account account = new Account();
            TestAccount1 testAccount1 = new TestAccount1(account);
            testAccount1.start();
            TestAccount2 testAccount2 = new TestAccount2(account);
            testAccount2.start();
        }
    }

    posted on 2009-02-22 13:39 YXY 閱讀(205) 評論(0)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 最刺激黄a大片免费网站| 无遮挡免费一区二区三区| 日本在线免费观看| 国产精品亚洲а∨无码播放| 99久久免费国产特黄| 亚洲精品国精品久久99热一| 国产在线观看免费视频软件| 亚洲成a人片在线观看无码专区| 男女作爱在线播放免费网站| 婷婷久久久亚洲欧洲日产国码AV| 91精品视频在线免费观看| 亚洲中文字幕人成乱码| 免费无码又爽又刺激聊天APP| 亚洲日韩精品无码AV海量| 永久免费看mv网站入口| 免费一级全黄少妇性色生活片 | 国产精品免费网站| 亚洲AV成人噜噜无码网站| 全免费a级毛片免费**视频| 亚洲欧美日韩中文二区| 国产无遮挡吃胸膜奶免费看| 一级做a爰片久久毛片免费陪| 亚洲日韩激情无码一区| 最近2022中文字幕免费视频| 国内精品久久久久影院亚洲| 亚洲国产精品综合久久网络| 野花香高清视频在线观看免费| 亚洲永久中文字幕在线| 日本午夜免费福利视频| 中国黄色免费网站| 亚洲成a人片在线观看精品| 国产一级淫片视频免费看| 免费一级毛片无毒不卡| 亚洲字幕AV一区二区三区四区 | 免费毛片网站在线观看| 国产精品无码免费专区午夜| 亚洲经典在线观看| 亚洲日韩中文在线精品第一| 99re在线免费视频| 日韩在线观看视频免费| 亚洲特级aaaaaa毛片|