开发者社区 问答 正文

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类 为什么无法找到呢?

展开
收起
爱吃鱼的程序员 2020-06-23 01:39:20 622 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

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

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

    package语句去掉就可以

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

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

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

    2020-06-23 01:39:38
    赞同 展开评论