java返回值过载

我们很易对下面这些问题感到迷惑:为什么只有类名和方法自变量列出?为什么不根据返回值对方法加以区分?比如对下面这两个方法来说,虽然它们有同样的名字和自变量,但其实是很容易区分的:

void f() {}
int f() {}

若编译器可根据上下文(语境)明确判断出含义,比如在int x=f()中,那么这样做完全没有问题。然而,我们也可能调用一个方法,同时忽略返回值;我们通常把这称为“为它的副作用去调用一个方法”,因为我们关心的不是返回值,而是方法调用的其他效果。所以假如我们象下面这样调用方法:
f();
Java怎样判断f()的具体调用方式呢?而且别人如何识别并理解代码呢?由于存在这一类的问题,所以不能根据返回值类型来区分过载的方法。

时间: 2024-11-05 12:15:07

java返回值过载的相关文章

返回值 异常-想问下java返回值的问题,可能有点白目大家帮帮忙

问题描述 想问下java返回值的问题,可能有点白目大家帮帮忙 private String getBookByName(String[] books){ System.out.println("请输入书名:"); book=input.next(); for(int i=0;i<books.length;i++){ if(book.equals(books[i])){ return books[i]; }else{ return null; } } 之前没写else提示我没返回值

java返回值 重载-java当中一个匿名类或者类必须返回一个对象吗

问题描述 java当中一个匿名类或者类必须返回一个对象吗 java当中一个类必须返回一个对象吗 就象方法一样一定有个返回值,void修饰的除外 解决方案 只有方法才有返回值可言,类又不是方法,没有返回值可言.A a=new A();这叫创建一个对象并引用,而不是返回一个对象

java返回值 重载-java可否实现返回值重载

问题描述 java可否实现返回值重载 As an additional challenge, write a class with a method boolean print(int)that prints a value and returns a boolean. Now overload the method to return a long. (This is similar to some questions on the Sun Java Certification Exam.)

java集合返回值异常。

问题描述 java集合返回值异常. 求大神指点为什么这个函数返回值是这样子的? model.OverallEnergyChart是一个包名加类名,这个是一个javabean类,为什么打印al里的值返回值是那样子的? 解决方案 楼上说的对,你控制台输出的是toString()方法的结果.你重写,就可以输出自己想要的了 解决方案二: JAVA返回值与异常Java异常时的返回值(java 基础知识) java异常抛出和返回值 解决方案三: 重写toSting()方法就可以了. 解决方案四: 控制台显示

Java方法、自变量和返回值

迄今为止,我们一直用"函数"(Function)这个词指代一个已命名的子例程.但在Java里,更常用的一个词却是"方法"(Method),代表"完成某事的途径".尽管它们表达的实际是同一个意思,但从现在开始,本书将一直使用"方法",而不是"函数". Java的"方法"决定了一个对象能够接收的消息.通过本节的学习,大家会知道方法的定义有多么简单! 方法的基本组成部分包括名字.自变量.返回类

Java或C#调用命令行批处理命令如何获得返回值

@echo off dump -uroot -p1234 --database gbase > 1.sql 2>Nul if %errorlevel%==0 goto next goto error :next echo OK goto end :error echo ERROR :end   [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]   先看看如上的批处理,其中一个命令是dump,其它的参数我们就不说了.2个点 > 1.sql 这个是默认的输出,也就是内容输出 2

Java线程:新特征-有返回值的线程

在Java5之前,线程是没有返回值的,常常为了"有"返回值,破费周折,而且代码很不好写.或者干脆绕过这道坎,走别的路了. 现在Java终于有可返回值的任务(也可以叫做线程)了. 可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口. 执行Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callable任务返回的Object了. 下面是个很简单的例子: import java.util.concurrent.*

java定时器 run方法怎么返回值 我要返回result 代码里一直报错 晚生跪求解决

问题描述 java定时器 run方法怎么返回值 我要返回result 代码里一直报错 晚生跪求解决 public VirementResultInfo queryTransaction( final String bank, final TransactionInfo transactionInfo) { // final VirementResultInfo result = null; TimerTask task = new TimerTask() { @Override public v

java File.listFiles() 返回值无法操作的问题

问题描述 java File.listFiles() 返回值无法操作的问题 File[] files = myfileFile.listFiles();//**这个返回值无法操作,是怎么回事.** for(File f : files) { System.out.println("1"); if(f.exists()) //这里我的测试文件是存在的,但exists()返回false. { System.out.println("10"); } if(f.canRea