- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java笔程序
1.
public class ReturnIt{ returnType methodA(byte x, double y){ //line 2return (short)x/y*2; } }
what is valid returnType for methodA in line 2?
答案:返回double类型,因为(short)x将byte类型强制转换为short类型,与double类型运算,将会提升为double类型.
2. 1) class Super{ 2) public float getNum(){return 3.0f;} 3) } 4) 5) public class Sub extends Super{ 6) 7) } which method, placed at line 6, will cause a compiler error? A. public float getNum(){return 4.0f;} B. public void getNum(){} C. public void getNum(double d){} D. public double getNum(float d){return 4.0d;} Answer:B
A属于方法的重写(重写只存在于继承关系中),因为修饰符和参数列表都一样.B出现编译错误,如下:
Sub.java:6: Sub 中的 getNum() 无法覆盖 Super 中的 getNum();正在尝试使用不兼容的返回类型找到: void需要: floatpublic void getNum(){}^1 错误
B既不是重写也不是重载,重写需要一样的返回值类型和参数列表,访问修饰符的限制一定要大于被重写方法的访问修饰符(publicprotecteddefaultprivate);
重载:必须具有不同的参数列表; 可以有不同的返回类型,只要参数列表不同就可以了; 可以有不同的访问修饰符;
把其看做是重载,那么在java中是不能以返回值来区分重载方法的,所以b不对.
3.
public class IfTest{ public static void main(String args[]){ int x=3; int y=1; if(x=y) System.out.println(Not equal); else System.out.println(Equal); } } what is the result? Answer:compile error 错误在与if(x=y) 中,应该是x==y; =是赋值符号,==是比较操作符
4. public class Foo{ public static void main(String args[]){ try{return;} finally{ System.out.println(Finally);} } } what is the result? A. print out nothing B. print out Finally C. compile error Answer:B java的finally块会在return之前执行,无论是否抛出异常且一定执行.
5.public class Test{ public static String output=; public static void foo(int i){ try { if(i==1){ throw new Exception(); } output +=1; } catch(Exception e){ output+=2; return; } finally{ output+=3; } output+=4; } public static void main(String args[]){ foo(0); foo(1); 24) } }
what is the value of output at line 24? Answer:13423 如果你想出的答案是134234,那么说明对return的理解有了混淆,return是强制函数返回,本题就是针对foo(),那么当执行到return的话,output+=4; 就不再执行拉,这个函数就算结束拉.
6. public class IfElse{ public static void main(String args[]){ if(odd(5)) System.out.println(odd); else System.out.println(ev
文档评论(0)