A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘国涛 中级黑马   /  2013-3-13 18:51  /  2811 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘国涛 于 2013-3-14 07:47 编辑
  1. public class Student
  2. {
  3.         private String name;
  4.         private int age;
  5.         Student(String name,int age)
  6.         {
  7.                 this.name = name;
  8.                 this.age = age;
  9.         }

  10.         public void setName(String name)
  11.         {
  12.                 this.name = name;
  13.         }
  14.         public String getName()
  15.         {
  16.                  return name;
  17.         }

  18.         public void setAge(int age)
  19.         {
  20.                 this.age = age;
  21.         }
  22.         public int getAge()
  23.         {        
  24.                 return age;
  25.         }
  26. }

  27. public class StudentDemo
  28. {
  29.         public static void main(String[] args)
  30.         {
  31.                 Student s=new Student("zhangsan",20);
  32.                 System.out.println(s.getName()+","+s.getAge());
  33.         }
  34. }
复制代码

怎么声明啊?

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

12 个回复

倒序浏览
java的规定,一个.java文件中,只能有一个public类。记得大学的老师特别强调这句话,我就对这句话印象深刻。
只能有一个public类。
回复 使用道具 举报
一个.java文件中只能有一个类用public修饰
回复 使用道具 举报
本帖最后由 李思杰 于 2013-3-13 19:15 编辑

public class Student
public class StudentDemo
你写了2个public,应该把第一个public去掉。当一个类使用了public修饰,文件名要和类名相同。
从你的错误提示也可以看出,在第一行你用public修饰了Student类,而编译器找不到Student.java文件,所以报错。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
在源程序中只有一个public类,是为了让程序在执行时只从一个接口导入。
public 类的名字必须和java文件名一致
如果能有多个public类,程序就无法识别该从哪里导入程序了。
回复 使用道具 举报
一个java源文件中可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致
回复 使用道具 举报
一个JAVA文件中 只允许声明一个Public类,就像C++程序中只允许有一个Main函数一样的
回复 使用道具 举报
一个java文件中只能有一个用public修饰的类,

而且JAVA文件名必须与这个用public修饰的类的名字相同

如需要访问其他类,可以在public类中设置其他类的访问方式!
回复 使用道具 举报
本帖最后由 刘国涛 于 2013-3-13 19:39 编辑
李思杰 发表于 2013-3-13 19:09
public class Student
public class StudentDemo
你写了2个public,应该把第一个public去掉。当一个类使用 ...

但为什么把第二个public去掉而保留第一个也会出现错误提示呢?
回复 使用道具 举报

一个java源文件中可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致
回复 使用道具 举报
刘国涛 发表于 2013-3-13 19:37
但为什么把第二个public去掉而保留第一个也会出现错误提示呢?

类名加public的时候  文件名必须和类名一致
如果你把第二个public去掉   你的文件名必须和第一个类的类名一致,但是你的主函数在第二个类中
主函数是程序的入口,程序运行先找pubic哪个类找不到主函数就报错  

你把第一个类的public去掉  文件名 和第二个类的类名一致就可以了
我专门把两种都试了。。。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
编译没法通过,错误提示The public type Student must be defined in its own file,是因为一个.java中只可以定义一个public class
回复 使用道具 举报
我知道了,谢谢各位的回答!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马