Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java接口-与面向对象相关_Java_Oop_Interface - Fatal编程技术网

java接口-与面向对象相关

java接口-与面向对象相关,java,oop,interface,Java,Oop,Interface,嗨,朋友们,我是java新手,正在尝试一些示例,但没有得到预期的输出 我在这里应用了没有spring的依赖注入,但没有得到预期的输出 BaseballCoach依赖于FortuneServices的每日财富,这里我试图将FortuneServices注入BaseballCoach构造函数中 在这里,我期待着“今天是你的幸运日”; 请告诉我用一些简单的语言理论解释我哪里做错了 提前谢谢 一个人的帮助是更有价值的 -->这是上课的主要课程 public class DiMain

嗨,朋友们,我是java新手,正在尝试一些示例,但没有得到预期的输出

我在这里应用了没有spring的依赖注入,但没有得到预期的输出

BaseballCoach
依赖于
FortuneServices
的每日财富,这里我试图将
FortuneServices
注入
BaseballCoach
构造函数中

在这里,我期待着“今天是你的幸运日”; 请告诉我用一些简单的语言理论解释我哪里做错了

提前谢谢

一个人的帮助是更有价值的

-->这是上课的主要课程

        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";
        }
    }        

您没有得到任何输出的原因是因为您从未提供任何输出。我认为您的代码正确地获得了“今天是您的幸运日”的值,但随后它就终止了

尝试打印
bs.getDailyFortune()
。比如:

System.out.println(bs.getDailyFortune());
或者,如果你想保持公正

bs.getDailyFortune();
将您的
getFortune()
方法修改为:

public void getFortune() {
    System.out.println("today is ur lucky day");
}
System.out
是一种
OutputStream
(具体来说是一种
PrintStream
)可以让您直接将数据输出到控制台,这可能是显示输出的最常用方式

有关输出的更多信息,请参见:

您必须将输出打印到控制台……也许您应该打印输出:
System.out.println(bs.getDailyFortune())你没有输出任何东西,这就是你没有得到任何输出的原因。thnx我明白了…tnx alot@bradimus你被否决了,因为这不是一个好问题。虽然这个问题对你很好,但这个问题对其他任何人都不好。这个网站在这里,其他人可以查找以前的问题并找到答案,而不必问同样的问题。