package com.jspdev.ch5;
import java.util.Date;
public class UserInfo
{
private String userid;
private String password;
private String email;
private String name;
private String street;
private String city;
private String state;
private String phone;
private String zipCode;
private String cardNumber;
private int cardType;
private Date expireDate;
private int userLogCount;
private int userType;
private Date userLastLogTime;
private String fanvcategory;
public UserInfo()
{ }
//getter方法
public String getUserid()
{
return this.userid;
}//setter方法
public void setUserid(String c)
{
this.userid=c;
}在以下类中调用上面那个类的 userInfo.setUserid()和userInfo.getUserid()方法提示是调用这两个方法错误:
package com.jspdev.ch5;
import java.sql.*;
import java.util.*;
public class UseRegist {
private UserInfo userInfo;
public void setUserInfo(UserInfo userInfo)
{
this.userInfo=userInfo;
} public boolean UserRegist()
{
boolean flag=false;
try
{
userInfo.setUserid("12345");
System.out.print(userInfo.getUserid());
flag=true;
}
catch(Exception e)
{
e.printStackTrace();
flag=false; }
return flag;
}
public static void main(String arg[])
{ UseRegist ur=new UseRegist();
try
{
if (ur.UserRegist()) {
System.out.print("设置成功!\n");
}
else {
System.out.print("设置失败\n"); }
}
catch(Exception e)
{
e.printStackTrace();
}
}
}错误是:java.lang.NullPointerExceptionat com.jspdev.ch5.UseRegist.UserRegist(UseRegist.java:25)at com.jspdev.ch5.UseRegist.main(UseRegist.java:76)
import java.util.Date;
public class UserInfo
{
private String userid;
private String password;
private String email;
private String name;
private String street;
private String city;
private String state;
private String phone;
private String zipCode;
private String cardNumber;
private int cardType;
private Date expireDate;
private int userLogCount;
private int userType;
private Date userLastLogTime;
private String fanvcategory;
public UserInfo()
{ }
//getter方法
public String getUserid()
{
return this.userid;
}//setter方法
public void setUserid(String c)
{
this.userid=c;
}在以下类中调用上面那个类的 userInfo.setUserid()和userInfo.getUserid()方法提示是调用这两个方法错误:
package com.jspdev.ch5;
import java.sql.*;
import java.util.*;
public class UseRegist {
private UserInfo userInfo;
public void setUserInfo(UserInfo userInfo)
{
this.userInfo=userInfo;
} public boolean UserRegist()
{
boolean flag=false;
try
{
userInfo.setUserid("12345");
System.out.print(userInfo.getUserid());
flag=true;
}
catch(Exception e)
{
e.printStackTrace();
flag=false; }
return flag;
}
public static void main(String arg[])
{ UseRegist ur=new UseRegist();
try
{
if (ur.UserRegist()) {
System.out.print("设置成功!\n");
}
else {
System.out.print("设置失败\n"); }
}
catch(Exception e)
{
e.printStackTrace();
}
}
}错误是:java.lang.NullPointerExceptionat com.jspdev.ch5.UseRegist.UserRegist(UseRegist.java:25)at com.jspdev.ch5.UseRegist.main(UseRegist.java:76)
private UserInfo userInfo;//userInfo == null -> true
进行赋值,而楼主还未曾进行赋值,便使用它调用其成员方法,当然会引发异常了