为了账号安全,请及时绑定邮箱和手机立即绑定

面向对象问题?

面向对象问题?

慕姐8946757 2017-08-17 04:39:56
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

查看完整回答
1 反对 回复 2017-08-17
?
昵称已占有

TA贡献1条经验 获得超1个赞

楼上说的是对的,name.getClassName();其实是获取了你的类名的,只是看不出来(没有执行打印),println是将值打印出来,如下:

//将值赋给myClassName,用来检测name.getClassName()是否执行了

String myClassName = name.getClassName();

//将myClassName的值打印,如果输出,则说明name.getClassName()已经执行,相反,,,,

System.out.println(myClassName);

查看完整回答
1 反对 回复 2017-08-19
  • 3 回答
  • 0 关注
  • 1289 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信