java问题:有返回值类型的方法,返回的值的类型是不是必须和声明方法类型一致呢?

比如:public static String str(int i){return...}返回的类型是不是必须是String型?public int a(String str){return...}返回的类型是不是必须是int型?
问2:返回值的类型是不是必须和声明方法的类型一致呢?是不是可以与参数类型不一致呢?
问得细就比较啰嗦,麻烦网友解答下!

1,你的方法类型是什么类型,返回值就必须与方法类型一致,且必须有返回值。
例如:public String test() {
String a;
return a;

}

2,方法的返回类型与参数类型没有任何关系,也就是说方法的返回类型只与方法类型有关系,与参数类型没有关系。
例如:public String test(Double a) {
String s = "return";

Double d = a;

reutrn s;

}

当然还有其他情况,可能会出现返回类型和方法类型不一致的现象,比如小int类型可以遇到Double会自动转换成Doubel,但是Double不能转换int。不过按照编码规范,方法什么类型,就返回什么类型是绝对没问题的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-02
问题1:不必须一致,但必须遵循是一个原则:实际返回值必须可自动转型的为声明返回值(即为扩展转换而非窄化转换)。
随便举几个例子:
public class Test {
public static void main(String[] args){
System.out.println(aObject());
}
static Object aObject(){
String s = "97";
return s;
}
}/*output:
97
*///String类转为Object类,为向上转型,因此可以执行,反之则编译错误/~

public class Test2 {
public static void main(String[] args){
System.out.println(getInt());
}
static int getInt(){
char aChar = '97';
return aChar;
}
}/*output:
97
*///声明为int,实际返回char,也可自动转换,所以可以,反之同样编译错误/~

问题2:参数类型与返回值类型无关
第2个回答  2012-08-01
返回值的类型必须与方法的返回值声明类型一致,或者为声明类型的子类。也就是说你的public static String str这个方法,返回值就必须是String类型。
返回值当然可以与参数类型不一致,方法的参数和返回值是两个概念。参数你可以理解为这个方法执行的一些条件,返回值是方法执行的结果
第3个回答  2012-08-01
这个是不一定的:这涉及到向上转型的问题,以下两个例子编译都是可以通过的

1.private List test() {
return new ArrayList();
}

2. private double test2() {
int a = 1;
return a;
}
第4个回答  2012-08-01
public String retString(int i) {//String表明返回类型是String的
return "TypeOfString";//必须返回个String类型的结果

}

java方法的重载的问题,返回类型必须相同吗
方法的重载没有明确规定要同样的返回类型,可以试试看就知道了 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准

java 构造函数 错误: 方法声明无效; 需要返回类型
构造函数名称必须要和类名一样,如果没有和类名一样,那么就会有个默认的构造方法 所以会报错说方法生命错误,说需要返回值

java中方法声明无效,需要返回类型
说明需要return一个参数。举例:一:public String test(){} ;这样的定义就会报错需要返回类型;二:public String test( return "aaa" ){} ; 因为定义的返回类型是字符串类型,所以只要返回一个字符串即可。备注:返回值类型必须和定义的类型一致,否则也会报错。

JAVA类方法的返回值
如果一个方法,只需要处理问题,而不需要返回处理结果,就不用返回,也就是void,比如下面这个方法,传一个名字做参数,这个方法是向这个人问好的,就只需要问好,不需要返回值 public void sayHello(String name){ System.out.println("中午好"+name);} 另外,一个方法虽然有返回值,但是可以不接收这个...

在java中什么是返回值类型?
返回一个值给调用该方法的语句,返回值的数据类型必须? 方法声明中的返回值类型 一致。可以使用强制类型转换来使类型一致。2.return 当方法说明中用void声明返回类型为空时,应使用这种格式, ?不返回任何值。return语句通常用在一个方法体的最后,以退出该方法并返 一个值。Java中,单独的 return语句用在...

使用java语言理解程序逻辑?
正确答案:AC。【解析】这个题目考察了方法的返回值类型及return关键字的使用。一般情况下,方法由返回值时才使用return语句。且return语句中表达式的类型一定与方法的返回值类型保持一致。根据这个原则解析如下:A:方法的返回值是String类型,return语句中表达式也是String,二者相符,故正确。B:方法的返回值...

java语言中规定方法的返回值的类型是由什么决定呢
java语言中规定方法的返回值的类型是决定:字符串、整数、浮点数等等,这些决定了你设定的函数类型。比如我们调用XX方法计算学生成绩,我们的目的是得到一个学生的成绩,那我们就需要那个方法做两件事:计算成绩并且返回那个学生的成绩给我们,成绩就是这个方法的返回值,这个返回值的数据类型就是方法的返回...

java中“如果函数有返回值类型,则不可以有带参数的return”这句话怎么...
2、java中对于一个函数,不论有没有返回值类型,都可以带有return 语句。但是区别在于,return 语句是否可以返回一个值(这取决与该函数的返回值类型)。a、如果函数有返回值类型(即返回值类型不为void ),则必须带有返回相应类型值的return 语句。b、如果函数没有返回值(即返回值类型为void ),则...

在JAVA里方法返回类型不同可以区分重载方法不
肯定不可以...你想想,调用一个方法并不一定要把它的返回值付给一个变量.假如我们调用方法的时候都不保持它的返回值,那程序怎么知道调用了哪个方法呢?所以说,肯定是不可以的.

java中,带返回值的函数,必须定义一个变量来接收吗
这个有返回值不一定一定要用变量来接受的 如果你要用到这个方法的返回值对这个返回值操作的话才接受

相似回答