2016-08-16 85 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