第一次java测试错误分析

1.byte类型大小为:(-2的7次方)到(2的7次方减1)

错误原因:知道byte是有8个字节,但忽略了有一个字节专门表示正负

 

2.标识符问题

在java中,以$符号开头的为合法的标识符,如$anothervar

错误原因:和C语言的标识符概念混淆了,C语言标识符规则如下:

(1).标识符只能由字母、数字和下划线三类字符组成
(2).第一个字符必须是字母(第一个字符也可以是下划线,但被视作系统自定义的标识符)
(3).大写字母和小写字母被认为是两个不同的字符,如A和a是两个不同的标识符
(4).标识符可以任意长,但只有前32位有效。有些旧的C版本对外部标识符的限制为6位。这是由于链接程序的限制所总成的,而不是C语言本身的局限性
(5).标识符不能是C的关键字

 

3.public class MyClass{

    static int i;

    public static void main(String[] args){

         System.out.println(i);  //输出结果 0

    }

}
错误原因:没有对static形成敏感的认识

 

4.int i=9;

switch(i){

   default:

   System.out.println("default");

   case 0:

   System.out.println("zero");

   break;

   case 1:

   System.out.println("one");

   case 2:

   System.out.println("two");

       //输出结果:default,zero

错误原因:default后没有break;和case用法一样

 

5.在下面的注释处插入哪些部分代码是合法的:

class Base{

public void amethod(int i){}

}

public class Scope extends Base{

    //在这里定义一个方法

    public static void main(String[] args){}

}

A)   void amethod(int i)throws Exception{}

B)   void amethod(long i)throws Exception{}

C)   void amethod(long i){}

D)   public void amethod(int i)throws Exception{}

错误原因:对重写的注意事项不清晰,重写原则:
1.方法名相同/参数也相同/返回类型也相同(5.0以后的版本可以返回子类)
2.访问权限不能变小
3.抛出异常不能变大

本例中A)重写时既将访问权限变小了,又扩大了异常,而B)和C)相当于Scope自己新建的方法,只是方法名和父类方法名相同而已,但与父类的amethod方法无关,D)将异常扩大了。本题B)和C)正确。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值