Java初学者的一些小问题,求解各位大神 5C
package 试验;

public class what {

    public static void main (String[] args){

        student stu1=new student("xiaozai",43);
        System.out.println("stu1.toString()");
    }
}

class student{
    String name;
    int age;

    public student(String name,int age){
        this.name=name;
        this.age=age;
    }
    public String toString(){
        return name+age;
    }
}

这段程序在package这里报错,原因是类文件碰撞,请问是什么意思?怎样改可以使程序运行?

qq_33839973
Blank丶夜 首先你这个package,文件相对于项目的相对路劲。完了 你这个肯定不能是中文,还有 调用toString方法的时候不要加""不然会当字符串打印。
5 个月之前 回复
lurongqi_0106
荒野大盘鸡 把包名改改,不要出现中文、
5 个月之前 回复

6个回答

package 试验;

这个要和你的路径要一致。

public class what {

这个要和你的java源代码文件名一致

System.out.println("stu1.toString()");
->
System.out.println(stu1.toString());

兄弟,你这包名中文的啊,类名首字母小写的呀,虽然有点不规范,但是并不会报错的呀

除了命名规范,System.out.println("stu1.toString()");这里也写错了 把,把双引号去掉,否则打印的是stu1.toString()这个字符串而不是你想要结果

  1. 将打印部分去掉,改为 System.out.println(stu1.toString());
  2. 对将要赋值的元素加上set/get方法
  3. 包名你写的太血腥了,改成小写的英文名称就行

package demo;

public class what {

public static void main(String[] args) {
    student stu1 = new student("xiaozai", 43);
    System.out.println(stu1.toString());
}

}

class student {
String name;
int age;

public student(String name, int age) {
    this.name = name;
    this.age = age;
}

public String toString() {
    return name + age;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

}

这个package真是太6了

把 package 试验 改成 package test 就好了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题