[计算机]java实践题.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机]java实践题

实践题   1. abstract class Name {  private String name;  public abstract boolean isStupidName(String name) {} }   这有何错误?   答案: 错。abstract method必须以分号结尾,且不带花括号。   2. public class Something {  void doSomething () {   private String s = ;   int l = s.length();  } }   有错吗?   答案: 错。局部变量前不能放置任何访问修饰符 (private,public,和protected)。final可以用来修饰局部变量 (final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)。   3. abstract class Something {  private abstract String doSomething (); }   这好像没什么错吧?   答案: 错。abstract的methods不能以private修饰。abstract的methods就是让子类implement(实现)具体细节的,怎么可以用private把abstract method封锁起来呢? (同理,abstract method前不能加final)。   4. public class Something {  public int addOne(final int x) {   return ++x;  } }   这个比较明显。   答案: 错。int x被修饰成final,意味着x不能在addOne method中被修改。   5. public class Something {  public static void main(String[] args) {   Other o = new Other();   new Something().addOne(o);  }  public void addOne(final Other o) {   o.i++;  } } class Other {  public int i; }   和上面的很相似,都是关于final的问题,这有错吗?   答案: 正确。在addOne method中,参数o被修饰成final。如果在addOne method里我们修改了o的reference (比如: o = new Other();),那么如同上例这题也是错的。但这里修改的是o的member vairable (成员变量),而o的reference并没有改变。   6. class Something {  int i;  public void doSomething() {   System.out.println(i = + i);  } }   有什么错呢? 看不出来啊。   答案: 正确。输出的是i = 0。int i属於instant variable (实例变量,或叫成员变量)。instant variable有default value。int的default value是0。  7. class Something {  final int i;  public void doSomething() {   System.out.println(i = + i);  } }   和上面一题只有一个地方不同,就是多了一个final。这难道就错了吗?   答案: 错。final int i是个final的instant variable (实例变量,或叫成员变量)。final的instant variable没有default value,必须在constructor (构造器)结束之前被赋予一个明确的值。可以修改为final int i = 0;。   8. public class Something {  public static void main(String[] args) {   Something s = new Something();   System.out.println(s.doSomething() returns + doSomething());  }  public String doSomething() {   return Do something ...;  } }   看上去很完美。   答案: 错。看上去在main里call doSomething没有什么问题,毕竟两个methods都在同

您可能关注的文档

文档评论(0)

skvdnd51 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档