zhangyanfengzi 2012-10-09 11:39 采纳率: 100%
浏览 211
已采纳

Integer 和类实现问题和重写++问题

public class countDemo {

    static Integer count;
     
    public static void main(String[] args) {
    
        for(int i = 0;i<6;i++){
            count++;
        }
        System.out.println(count);
    }
}

 这样为什么会报null指针异常呢,为什么不可以++呢

 

第二个问题:

   

public class User implements java.io.Serializable {
    private Integer userId;
    private String userName;
    private String password;
    private String mobile;
    private String email;
    
    @Override
    public String toString() {
        return "User [email=" + email + ", mobile=" + mobile + ", password="
                + password + ", userId=" + userId + ", userName=" + userName
                + "]";
    }
}

 为什么要在类上要实现implements java.io.Serializable 类?

public class User implements java.io.Serializable {

为什么要这样重写类里面的属性?

public String toString() {
        return "User [email=" + email + ", mobile=" + mobile + ", password="
                + password + ", userId=" + userId + ", userName=" + userName
                + "]";
    }

 

 

  • 写回答

5条回答 默认 最新

  • henghanan 2012-10-09 13:41
    关注

    1、没有给count赋初值,Integer是int的封装类,默认值为null
    应该这样赋值:
    Integer count = 0;(这种写法在jdk1.5及以上的版本适用,原因是1.5以上的版本提供了自动拆箱机制;但如果你的jdk是1.4及以下,则应该改为:
    Integer count = new Integer(0);)

    2、一个类只有实现了Serializable接口,它的对象才是可序列化的。而实际上Serializable是一个空接口,没有具体的内容,它的目的只是简单的标识一个类的对象可以被序列化。

    3、重写toString()方法是期望得到自己想要格式的字符串,这个方法是定义在Object类中的,参考源码:
    [code="java"]public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料