| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 921 人关注过本帖
标题:同目录下两个类,互相找不到.为什么
只看楼主 加入收藏
kimyier
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-10-7
收藏
 问题点数:0 回复次数:8 
同目录下两个类,互相找不到.为什么

在同一个文件夹里有A.java和B.java

在A.JAVA中使用B

例如B b=new B();

总是找不到B这个类.B.java可以正常通过编译,执行


编译错误为
cannot resolve symbol

搜索更多相关主题的帖子: cannot 文件夹 
2005-12-09 12:01
cll19820814
Rank: 2
等 级:新手上路
威 望:3
帖 子:328
专家分:0
注 册:2005-11-30
收藏
得分:0 
import ********;

懵懵懂懂,看千遍而不会;设身处地,试一下就成功!
2005-12-09 12:46
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

给源代码


淘宝杜琨
2005-12-09 15:02
kimyier
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-10-7
收藏
得分:0 

//A.java

import java.io.*;
public class A
{
B b;
public static void main(String args[])
{
System.out.print("hello java");
b.g();
}

}

//B.java

import java.io.*;
public class B{

public static void main(String args[])
{
B b=new B();
b.g();
}

public void g()
{
System.out.println("B is carry on");

}

}

A.java和B.java在同一个文件夹里

2005-12-09 16:12
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
因为你是在A中的main方法中调用了b.g()
而b这个实例在A中不是static的,也就是说,在static类型的方法中(比如main)是不允许调用非static类型的方法或者变量的(比如说b)
而且,你的B b;这样写没有给b创建一个实例,所以就算能运行,也将会抛出一个Null Point异常

更改
A.java中的 B b; 更改为 static B b = new B();

淘宝杜琨
2005-12-09 17:45
cll19820814
Rank: 2
等 级:新手上路
威 望:3
帖 子:328
专家分:0
注 册:2005-11-30
收藏
得分:0 
斑竹,把b封装起来 再import 进a类里也行吧?这样?

懵懵懂懂,看千遍而不会;设身处地,试一下就成功!
2005-12-09 22:15
zhouyao_14
Rank: 1
等 级:新手上路
帖 子:196
专家分:0
注 册:2006-2-15
收藏
得分:0 
没有那个必要import 是用在不同的文件夹中,也就是不同的打包。
而斑竹说的是在静态方法中不可以调用实例方法,不是一回事

2006-02-23 11:18
aafg剑心
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2005-6-12
收藏
得分:0 
应该是你的classpath设置有问题吧!
设置的最前面应该是一个点(.),表示大拿前文件夹!!
不知道对不对?

世事如舟挂短篷,或移西岸或移东。 几回缺月还圆月,数阵南风又北风。 岁久人无千日好,春深花有几时红。 是非入耳君须忍,半作痴呆半作聋。
2006-02-25 00:31
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
以下是引用kimyier在2005-12-9 12:01:00的发言:

在同一个文件夹里有A.java和B.java

在A.JAVA中使用B

例如B b=new B();

总是找不到B这个类.B.java可以正常通过编译,执行


编译错误为
cannot resolve symbol

你没有设置好环境变量,除了最基本的设置以外,还有加一个"."在classpath中(没有引号),它代表从当前目录去找。


可惜不是你,陪我到最后
2006-02-26 11:59
快速回复:同目录下两个类,互相找不到.为什么
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023614 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved