cannot find symbol不知道问题出在哪里

laoyang1030 2009-10-23 04:22:21
在同一个包下,我建立了两个Java文件(做Javabean的),分别为UserBean.java 和UserCheckBean.java。(UserCheckBean调用UserBean)先编译好UserBean成功后,再编译UserCheckBean.java时却出现 cannot find symbol ( UserBean)字样。
后来,我没有按照先后顺序编译,而是直接 Java *.java 这样就都编译成功了。这是为什么呢?因为我的两个源码存在明显的先后关系( UserCheckBean调用UserBean),那为什么分开编译后就不可以了呢?????
谢谢
UserBean.java 代码:
package com.itzcn.jack.chapter2;
public class UserBean
{
private String name;
private String password;

public String getName()
{
return name;
}
public void setName(String name)
{
this.name=name;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password=password;
}
}

UserCheckBean.java代码:
package com.itzcn.jack.chapter2;

public class UserCheckBean{
protected UserBean user;
public UserCheckBean(){

}
public UserCheckBean(UserBean user)
{
this.user=user;
}
public UserBean getUser()
{
return user;
}

public boolean checkUser()
{
String name=user.getName();
String password=user.getPassword();
if(name.equals("赵兴")&&password.equals("123"))
return true;
else
return false;
}
}

错误:
UserCheckBean.java:4: cannot find symbol
symbol : class UserBean
location: class com.itzcn.jack.chapter2.UserCheckBean
protected UserBean user;
^
UserCheckBean.java:8: cannot find symbol
symbol : class UserBean
location: class com.itzcn.jack.chapter2.UserCheckBean
public UserCheckBean(UserBean user)
^
UserCheckBean.java:12: cannot find symbol
symbol : class UserBean
location: class com.itzcn.jack.chapter2.UserCheckBean
public UserBean getUser()
^
3 errors
...全文
6031 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang12 2009-10-26
  • 打赏
  • 举报
回复
if("login".equals(action))
{
UserBean user=new UserBean();
user.setName(request.getParameter("name"));
user.setPassword(request.getParameter("password"));
UserCheckBean ucb=UserCheckBean(user); //1)
1)这句你是想实例化一个UserCheckBean(user),但你没有加new关键字,怎么可能成功
UserCheckBean ucb = new UserCheckBean(user);
laoyang1030 2009-10-23
  • 打赏
  • 举报
回复
在同一个包下又写了个servlet
checkUserServlet.java
使用javac *.java编译报错:
checkUserServlet.java:25: cannot find symbol
symbol : method UserCheckBean(com.itzcn.jack.chapter2.UserBean)
location: class com.itzcn.jack.chapter2.checkUserServlet
UserCheckBean ucb=UserCheckBean(user);
^
1 error

代码如下:
package com.itzcn.jack.chapter2;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.lang.*;

public class checkUserServlet extends HttpServlet{
public void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
{
request.setCharacterEncoding("GBK");
response.setContentType("text/html;chart=GBL");
String action=request.getParameter("action");
if(!isValidated(request)&&!("login".equals(action)))
{
gotoPage("login1.html",request,response);
return;
}

if("login".equals(action))
{
UserBean user=new UserBean();
user.setName(request.getParameter("name"));
user.setPassword(request.getParameter("password"));
UserCheckBean ucb=UserCheckBean(user);
if(ucb.checkUser())
{
HttpSession session=request.getSession();
session.setAttribute("user",user);
gotoPage("start.jsp",request,response);
}
else
gotoPage("error.jsp",request,response);
}
}

private boolean isValidated(HttpServletRequest request)
{
HttpSession session=request.getSession();
if(session.getAttribute("user")!=null)
return true;
else
return false;
}

private void gotoPage(String tUrl,HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
{
RequestDispatcher rd=request.getRequestDispatcher(tUrl);
rd.forward(request,response);
}
}
wang12 2009-10-23
  • 打赏
  • 举报
回复
UserCheckBean.java中引用了UserBean,他们之间存在编译依赖关系,应该一起编译,编译器将处理它们之间的依赖关系。
laoyang1030 2009-10-23
  • 打赏
  • 举报
回复
我的jdk版本是1.5的,是不是版本低了
环境变量设置:.;D:\Java\jdk1.5.0\lib\dt.jar;D:\Java\jdk1.5.0\lib\tools.jar

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧