2 u013663381 u013663381 于 2016.03.26 17:23 提问

JAVA 自定义类导入报错的问题。。。。

在学JAVA 用TXT文档编译运行的。先上环境设置,JAVA_HOME: C:\Program Files\Java\jdk1.8.0_60
CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
PATH:%JAVA_HOME%\bin;
我在E盘创建了一个文件夹,取名为com,又创建了1个子文件夹:sly。
一个Person类:
package com.sly;
public class Person{
private String name;
private int age;
public void setName(String name){
if(name.length()>6||name.length() System.out.println("您设置的人名不符合要求");
return;
}
else{
this.name = name;
}
}
public String getName(){
return this.name;
}
public void setAge(int age){
if(age>100||age<0){
System.out.println("您输入的年龄不合法");
return;
}
else{
this.age = age;
}
}
public int getAge(){
return this.age;
}
}

一个测试类TestPerson:
package com.sly;
import com.sly.*;
public class TestPerson{
public static void main(String[] args){
Person p = new Person();
p.setName = "a";
p.setAge = 20;
System.out.println("姓名:"+p.getName()+"年龄:"+p.getAge());
}
}

用cmd编译后,总是报错:Person()无法找到。

明明导入了Person类 为什么无法找到呢?

8个回答

Royal_lr
Royal_lr   Ds   Rxr 2016.03.26 17:53

截个图看看你的命令怎么敲得,,

u013663381
u013663381 大哥 麻烦帮忙解决下呗
一年多之前 回复
u013663381
u013663381 javac -d e:\com Person 这个没错 然后:javac -d e:\com TestPerson.java 这样就出错了 要么找不到变量p 要么说错误的类文件
一年多之前 回复
u013663381
u013663381   2016.03.26 19:03

顺序:javac Person.java
javac TestPerson.java
然后就出错了。。。找不到Person类

bealing
bealing   Rxr 2016.03.26 19:17

package 语句去掉就可以

u013663381
u013663381 哈哈 大哥谢谢您呀,javac TestPerson.java可以编译了。但是java TestPerson 报错说:找不到或无法加载主类TestPerson.这个怎么解决呀
一年多之前 回复
bealing
bealing 回复沧龙: 这个没试过,而且现在我也很少用,不太了解
一年多之前 回复
u013663381
u013663381 还有别的办法吗?比如把e:\com也变成可编译文件夹。
一年多之前 回复
ly881010
ly881010 回复ly881010: 然后必须取代去掉package语句
一年多之前 回复
ly881010
ly881010 我以前是这样解决的: 把文件放入可以编译的文件夹内,比如C:\Program Files\Java\jdk1.8.0_60,
一年多之前 回复
u013663381
u013663381   2016.03.26 21:47

楼上的 去掉还补可以啊

bealing
bealing p.setName = "a"; p.setAge = 20;这两句有问题,有这样用的吗?p.setName("a"); p.setAge(20);应该是这样的吧
一年多之前 回复
luochoudan
luochoudan   Ds   Rxr 2016.03.26 23:40

Person类编译不报错吗?你把导入路径换成完整的路径试一下。

u013663381
u013663381   2016.03.27 10:56

E:\com\sly>javac TestPerson.java
TestPerson.java:1: 错误: 程序包com.sly不存在
import com.sly.Person;
^
TestPerson.java:5: 错误: 找不到符号
p.setName = "a";
^
符号: 变量 setName
位置: 类型为Person的变量 p
TestPerson.java:6: 错误: 找不到符号
p.setAge = 20;
^
符号: 变量 setAge
位置: 类型为Person的变量 p

bealing
bealing   Rxr 2016.03.27 21:28

去掉package 后,我的就可以运行,你是不是命令写错了?图片说明

CSDNXIAON
CSDNXIAON   2016.03.30 18:01

解决Java 在Eclipse中使用Image相关类报错问题。
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!