我在同一工程下建了两个java文件,每个文件是一个类,分别为userinfo.java和userregist.java,类名为userinfo,userregist,两个类都在一个包里我要在userregist类里用到userinfo,但是我编译userregist时出现
"UserRegist.java": cannot resolve symbol: class user_info in class com.cxhome.UserRegist at line 24, column 27
这样的错误,
怎么回事谢谢
"UserRegist.java": cannot resolve symbol: class user_info in class com.cxhome.UserRegist at line 24, column 27
这样的错误,
怎么回事谢谢
你看下24行是啥。
24行我使用了user_info
是
private user_info UserInfo;
上面这句什么意思?太不规范了!LZ还是把两个类的完整内容拷过来吧,否则谁知道出什么莫名其妙的问题呢?
import java.util.Date;
import javax.swing.*;
class UserInfo
{
private String userid;
private String name;
private String password;
private String city;
private String phone;
private String userlogcount;
private String userlastlogtime;
private String usertype; public String getUserid()
{
return this.userid;
}
public String getPassword()
{
return this.password;
}
public String getCity()
{
return this.city;
}
public String getName()
{
return this.name;
}
public String getPhone()
{
return this.phone;
}
public String getuserLogcount()
{
return this.userlogcount;
}
public String getuserLastlogtime()
{
return this.userlastlogtime;
}
public String getUsetype()
{
return this.usertype;
} public void setUerid(String c)
{
this.userid=c;
}
public void setUsername(String c)
{
this.name=c;
}
public void setPassword(String c)
{
this.password=c;
}
public void setPhone(String c)
{
this.phone=c;
}
public void setCity(String c)
{
this.city=c;
}
public void setUsertype(String c)
{
this.usertype = c;
} public UserInfo() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
}
}
import java.sql.*;
public class UserRegist
{
private UserInfo userinfo;
private Connection con; public UserRegist()
{
String classforname="oracle.jdbc.driver.OracleDriver";
String url="jdbc:oracle:thin:@localhost:1521:myoracle";
String user="testuser";
String pwd="user";
try
{
Class.forName(classforname);
con=DriverManager.getConnection(url,user,pwd);
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void setUserInfo(UserInfo UI)
{
this.userinfo=UI;
}
public void regist() throws Exception
{
String reg="insert into use_info values(?,?,?,?,?,?,?,?)";
try
{
PreparedStatement pstmt=con.prepareStatement(reg);
pstmt.setString(1,userinfo.getUserid());
pstmt.setString(2,userinfo.getName());
pstmt.setString(3,userinfo.getPassword());
pstmt.setString(4,userinfo.getPhone());
pstmt.setString(5,userinfo.getCity());
pstmt.setInt(6,0);
pstmt.setDate(7,new java.sql.Date(new java.util.Date().getTime()));
pstmt.setString(8,userinfo.getUsertype());
pstmt.executeUpdate();
}
catch(Exception e)
{
e.printStackTrace();
throw e;
}
}}
{
return this.usertype;
}
pstmt.setString(8,userinfo.getUsertype());
UserInfo类里面的getUsertype()方法,你给写错名称了,你给写成了getUsetype()了。你看看是不是。
该成getUsertype(),其他的不用动,就可以了。
eclipse生成的方法:
1.先这上你要生成的字段,
2.点右键,选择:source
3.在二级菜单中先择:Generate getter and setters...
4 在弹出的对话框中就可以选择你在生成的字段的get or set方法。还可以生成相应的注释。
我在UserInfo前面加了public,根据我的理解,如果加了public那么在包外也是可见的,不加public那么在包内是可见的。不知我理解的对不对?
我也把getUsertype()改过来了,但是我觉得这个函数名称不是自己命名的吗?什么名字自己随意定义?java是不是和c++不一样,c++需要先声明再定义。java是不是直接声明加定义?请高手们帮俺解惑?
但是还是有错,
gongyali2005(JAVA 民工) 大大说把编译命令出错信息贴出来,我没用啥命令啊,我只装了runtime和jbulider9,我直接在jb9里点的make userregist.java,不知对不对?是不是不装JDK那么就在“运行”里用不了命令再次谢谢各位的帮忙,俺现在真是黔驴技穷了不知怎么办了呵呵
这个我打错了,类名也是user_info,
24行我使用了user_info
是
private user_info UserInfo;你里面的类名是UserInfo 到底是什么,你自己清楚不? 自己不清楚就别来发问
出错信息
"UserRegist.java": cannot resolve symbol: class UserInfo in class com.cxhome.UserRegist at line 5, column 11
"UserRegist.java": cannot resolve symbol: class UserInfo in class com.cxhome.UserRegist at line 24, column 27
在java里面是严格遵循大小写的拉
是非常严格
楼主怎么要把userinfo写成UserInfo呢?
两个文件,文件名分别为UserInfo.java,UserRegist.java,
在UserInfo.java里代码:
package com.cxhome;
import java.util.Date;
import javax.swing.*;
public class UserInfo
{
private String userid;
private String name;
private String password;
private String city;
private String phone;
private String userlogcount;
private String userlastlogtime;
private String usertype; public String getUserid()
{
return this.userid;
}
public String getPassword()
{
return this.password;
}
public String getCity()
{
return this.city;
}
public String getName()
{
return this.name;
}
public String getPhone()
{
return this.phone;
}
public String getuserLogcount()
{
return this.userlogcount;
}
public String getuserLastlogtime()
{
return this.userlastlogtime;
}
public String getUsertype()
{
return this.usertype;
} public void setUerid(String c)
{
this.userid=c;
}
public void setUsername(String c)
{
this.name=c;
}
public void setPassword(String c)
{
this.password=c;
}
public void setPhone(String c)
{
this.phone=c;
}
public void setCity(String c)
{
this.city=c;
}
public void setUsertype(String c)
{
this.usertype = c;
} public UserInfo() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
}
}
package com.cxhome;
import java.sql.*;
public class UserRegist
{
private UserInfo userinfo;
private Connection con; public UserRegist()
{
String classforname="oracle.jdbc.driver.OracleDriver";
String url="jdbc:oracle:thin:@localhost:1521:myoracle";
String user="testuser";
String pwd="user";
try
{
Class.forName(classforname);
con=DriverManager.getConnection(url,user,pwd);
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void setUserInfo(UserInfo UI)
{
this.userinfo=UI;
}
public void regist() throws Exception
{
String reg="insert into use_info values(?,?,?,?,?,?,?,?)";
try
{
PreparedStatement pstmt=con.prepareStatement(reg);
pstmt.setString(1,userinfo.getUserid());
pstmt.setString(2,userinfo.getName());
pstmt.setString(3,userinfo.getPassword());
pstmt.setString(4,userinfo.getPhone());
pstmt.setString(5,userinfo.getCity());
pstmt.setInt(6,0);
pstmt.setDate(7,new java.sql.Date(new java.util.Date().getTime()));
pstmt.setString(8,userinfo.getUsertype());
pstmt.executeUpdate();
}
catch(Exception e)
{
e.printStackTrace();
throw e;
}
}}
javac UserInfo.java
没问题
然后javac UserRegist.java
出现了:
"UserRegist.java": cannot resolve symbol: class UserInfo in class com.cxhome.UserRegist at line 5, column 11
"UserRegist.java": cannot resolve symbol: class UserInfo in class com.cxhome.UserRegist at line 24, column 27
两个错误
谢谢,您帮看看
注意看下,这两个类是在同一个包内,不需要导人的.
javac -d . userinfo.java
javac -d . userregist.java这样试试~