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

比如:publicstaticStringstr(inti){return...}返回的类型是不是必须是String型?publicinta(Stringstr){ret... 比如:public static String str(int i){return...}返回的类型是不是必须是String型?public int a(String str){return...}返回的类型是不是必须是int型?
问2:返回值的类型是不是必须和声明方法的类型一致呢?是不是可以与参数类型不一致呢?
问得细就比较啰嗦,麻烦网友解答下!
展开
 我来答
18388138
推荐于2017-09-03 · TA获得超过1956个赞
知道小有建树答主
回答量:1104
采纳率:40%
帮助的人:745万
展开全部
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。不过按照编码规范,方法什么类型,就返回什么类型是绝对没问题的。
名物大般若长光
2012-08-02
知道答主
回答量:9
采纳率:0%
帮助的人:4.5万
展开全部
问题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:参数类型与返回值类型无关
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
amuro521
2012-08-01 · TA获得超过215个赞
知道答主
回答量:38
采纳率:100%
帮助的人:30.7万
展开全部
返回值的类型必须与方法的返回值声明类型一致,或者为声明类型的子类。也就是说你的public static String str这个方法,返回值就必须是String类型。
返回值当然可以与参数类型不一致,方法的参数和返回值是两个概念。参数你可以理解为这个方法执行的一些条件,返回值是方法执行的结果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
历盆郁7
2012-08-01 · TA获得超过4277个赞
知道大有可为答主
回答量:1795
采纳率:100%
帮助的人:952万
展开全部
这个是不一定的:这涉及到向上转型的问题,以下两个例子编译都是可以通过的

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

2. private double test2() {
int a = 1;
return a;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sun_wxb
2012-08-01 · TA获得超过264个赞
知道小有建树答主
回答量:648
采纳率:0%
帮助的人:475万
展开全部
public String retString(int i) {//String表明返回类型是String的
return "TypeOfString";//必须返回个String类型的结果

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式