<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)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲va在线va天堂成人| 亚洲系列中文字幕| 日日摸夜夜添夜夜免费视频| 国产精品va无码免费麻豆| 麻豆亚洲AV成人无码久久精品| 四虎成人免费网址在线| 亚洲精华液一二三产区| 无码不卡亚洲成?人片| 一级毛片a女人刺激视频免费| 国产黄色一级毛片亚洲黄片大全| 成人片黄网站色大片免费观看cn | 精品四虎免费观看国产高清午夜 | 国产午夜亚洲精品国产| 午夜爱爱免费视频| 曰批全过程免费视频免费看| 国产成人麻豆亚洲综合无码精品 | 免费黄网站在线观看| 亚洲精品成人图区| 在线A级毛片无码免费真人| 免费播放美女一级毛片| 亚洲熟女一区二区三区| 在线免费观看亚洲| 亚洲人成网站999久久久综合| 亚洲精品无码永久在线观看| 日本免费在线中文字幕| 亚洲人成色99999在线观看| 亚洲国产V高清在线观看| 四虎影视在线影院在线观看免费视频 | 午夜国产精品免费观看| 高潮毛片无遮挡高清免费视频| 精品国产亚洲一区二区三区| 成年黄网站色大免费全看| 黄色免费网址大全| 亚洲一区免费观看| 日本午夜免费福利视频| 精品一卡2卡三卡4卡免费视频| 亚洲综合av一区二区三区| 亚洲精品无码久久一线| 好大好硬好爽免费视频| a级毛片视频免费观看| 亚洲国产精品网站在线播放 |