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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李大伟 高级黑马   /  2011-11-17 00:10  /  4143 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

两个类 teacher3
public class teacher3{
        public String name;
        public int age;
        public String getName(){
                return name;
        }
        public void setName(String name){
                this.name=name;
        }
        public int getAge(){
                return age;
        }
        public void setAge(int age){
                if(age<22){
                        System.out.println("错误!最小年龄为22岁!");
                        this.age=22;
                }else {
                        this.age=age;
                }
        }
        public String introduction(){
                return "大家好!我是"+name+",我今年"+age+"岁";
        }
}


teacher3Test
public class teacher3Test{
        public static void main(String[] args){
                teacher3 teacher=new teacher3();
                teacher.setName("李芳");
                teacher.setAge(10);
                System.out.println(teacher.introduction());
        }
}


这二个类 就是要测试的呀, 为什么 在 eclipse中不能写到一起,如果能写到一起 怎么改,求解答……

评分

参与人数 1技术分 +1 收起 理由
admin + 1 看看大家说的!

查看全部评分

9 个回复

倒序浏览
两个类的权限都是PUBLIC,淡然不行了,你说生成CLASS文件要用哪个类名呢?去掉一个public就行了 或都不加

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
本帖最后由 梦女孩 于 2011-11-17 01:47 编辑

多个类可以写在一起,但是只能有一个是public,并且public的类名必须与文件名相一致

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
首先多个类只可以写在一起的,但是如果要用public修饰的话,只能有一个类被public修饰,同时public的类名必须与文件名相一致
如果不一致会出现错误提示。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
在java中,同一个java文件中,可以定义一个和多个类在一个java原文件中,但是有一个前提条件:
1.就是在这些类中,只能有一个类的的权限是public的。也就是说只有一个类是被public所修饰的。
2.文件名必须与public所修饰的那个类名一致。
3.拥有主函数的那个类是public的,因为主函数是程序的入口,在运行程序时,是先从主函数开始运行的。保证类程序的独立运行。
正确的是:
class Teacher3{
        public String name;
        public int age;
        public String getName(){
                return name;
        }
        public void setName(String name){
                this.name=name;
        }
        public int getAge(){
                return age;
        }
        public void setAge(int age){
                if(age<22){
                        System.out.println("错误!最小年龄为22岁!");
                        this.age=22;
                }else {
                        this.age=age;
                }
        }
        public String introduction(){
                return "大家好!我是"+name+",我今年"+age+"岁";
        }
}


public class Teacher3Test{
        public static void main(String[] args){
                teacher3 teacher=new teacher3();
                teacher.setName("李芳");
                teacher.setAge(10);
                System.out.println(teacher.introduction());
        }
}
在java中是严格区分大小写的,所以在类名的定义时,第一个字母大写,要是有多个单词组成,每个单词的首字母大写,当然类名首字母不大写也可以运行成功,但是不符合java的命名规范。

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
虽然,前面的童鞋都已经说了,但是我还是说一遍,去点一个public就行。。。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
杨杰 黑马帝 2011-11-17 11:56:44
7#
规定一个类中只能有一个PUBLIC 的  而且源文件的名字只能和public 属性的类取一个名字。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
如果是用public的话,类名必须和文件名一致,这个问题就好像是一个文件可以有两个不同的名字一样吗?

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
咖啡 黑马帝 2011-11-17 18:44:43
9#
在多个类中,只能有一个类有public,其它的类不能有public,并且类名必须和文件名一致,其它的类只要不要public就可以了

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报

呵呵 谢谢  大家的帮助,已经搞明白了,一个java文件中 只能有一个 被public 修饰的类


class Teacher3{
        public String name;
        public int age;
        public String getName(){
                return name;
        }
        public void setName(String name){
                this.name=name;
        }
        public int getAge(){
                return age;
        }
        public void setAge(int age){
                if(age<22){
                        System.out.println("错误!最小年龄为22岁!");
                        this.age=22;
                }else {
                        this.age=age;
                }
        }
        public String introduction(){
                return "大家好!我是"+name+",我今年"+age+"岁";
        }
}


public class Teacher3Test{
        public static void main(String[] args){
                teacher3 teacher=new teacher3();
                teacher.setName("李芳");
                teacher.setAge(10);
                System.out.println(teacher.introduction());
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马