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();这样调用为什么不行啊
3 回答
已采纳
Yexiaomo
TA贡献152条经验 获得超157个赞
因为 直接调用 name.getClassName(); 只会返回值,并不会在屏幕上打印
加上输出语句 只是 把 getClassName() 的返回值 打印出来, 方便观察, 学习
QAQ
昵称已占有
TA贡献1条经验 获得超1个赞
楼上说的是对的,name.getClassName();其实是获取了你的类名的,只是看不出来(没有执行打印),println是将值打印出来,如下:
//将值赋给myClassName,用来检测name.getClassName()是否执行了
String myClassName = name.getClassName();
//将myClassName的值打印,如果输出,则说明name.getClassName()已经执行,相反,,,,
System.out.println(myClassName);
添加回答
举报
0/150
提交
取消