2016-08-16 112 views
-2

嗨朋友我是新來的java和嘗試一些例子,但沒有得到預期的輸出。java界面 - 面向對象

我在這裏應用依賴注入沒有春天,但沒有得到預期的輸出。

BaseballCoach取決於FortuneServices的每日運勢和我在這裏試圖注入FortuneServicesBaseballCoach構造...

在這裏,我期待了把「今天是烏爾幸運日」; 並請告訴我哪裏做錯了一些簡單的語言理論解釋...提前

感謝

有人幫助是更有價值......

- >這是主要的類需要

 public class DiMain 
     { 
      public static void main(String[] args) 
      { 
       HappyFortune hf = new HappyFortune(); 
       BaseballCoach bs = new BaseballCoach(hf);//this is constructor which act as dependency. 

       bs.getDailyFortune(); 
      } 
     } 

- >其他類有參數的構造函數

public class BaseballCoach 
    { 
     private FortuneServices fortunes; 

     public BaseballCoach(FortuneServices thefortuneservices) 
     { 
      fortunes = thefortuneservices; 
     } 


     public String getDailyFortune() 
     { 
      return fortunes.getFortune(); 

     } 
    } 

- >這是接口類

public interface FortuneServices 
    { 
     public String getFortune(); 
    } 

- > &這個類實現接口

public class HappyFortune implements FortuneServices 
    { 
     public String getFortune() 
     { 
      return "today is ur lucky day"; 
     } 
    }   
+0

你要打印輸出到控制檯... – 4castle

+0

也許你應該打印輸出:'的System.out.println(bs.getDailyFortune());' – bradimus

+0

你不輸出任何東西,這就是爲什麼你沒有得到任何輸出。 – njzk2

回答

3

你沒有得到任何輸出的原因是因爲你從來沒有提供任何。我認爲你的代碼正確地得到了「今天是你的幸運日」的價值,但是它終止了。

嘗試打印bs.getDailyFortune()。像:

System.out.println(bs.getDailyFortune()); 

或者,如果你想保持它只是

bs.getDailyFortune(); 

修改您getFortune()法說:

public void getFortune() { 
    System.out.println("today is ur lucky day"); 
} 

System.outOutputStream(具體來講,PrintStream)可讓您直接將數據輸出到您的控制檯,這可能是最常用的顯示輸出的方式。

更多關於此輸出: https://docs.oracle.com/javase/tutorial/essential/io/formatting.html