面向对象问题?

package com.heima;


/*1、 定义一个ClassName接口,接口中只有一个抽象方法getClassName()。设计一个类Company,

该类实现接口ClassName中的方法getClassName(),功能是获取该类的类名称。编写应用程序使用Company类。*/

public class Demo1 {

public static void main(String[] args) {

ClassName name = new Company();

System.out.println(name.getClassName());

}

}


package com.heima;


public class Company implements ClassName {


public String getClassName() {

// 返回一个实例返回方法指定类型的值;结束方法的执行

return "company";


}

}


package com.heima;


public interface ClassName {

public String getClassName();

}

 为什么不能通过对象名直接调用,非要加上输出语句?name.getClassName();这样调用为什么不行啊

慕姐8946757
浏览 1290回答 3
3回答

Yexiaomo

因为 直接调用 name.getClassName(); 只会返回值,并不会在屏幕上打印加上输出语句 只是 把 getClassName() 的返回值 打印出来, 方便观察, 学习QAQ

昵称已占有

楼上说的是对的,name.getClassName();其实是获取了你的类名的,只是看不出来(没有执行打印),println是将值打印出来,如下://将值赋给myClassName,用来检测name.getClassName()是否执行了String myClassName = name.getClassName();//将myClassName的值打印,如果输出,则说明name.getClassName()已经执行,相反,,,,System.out.println(myClassName);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java