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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© coco2016 中级黑马   /  2016-7-11 16:30  /  526 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

代码如下,为什么会出现在。java的文件中申明错误,请大神指点下,谢谢!
public class Demo_Employee {
        public static void main(String[] args)
        {
                Manager m = new Manager("张三","9547",2000);
                m.work();
                m.Bonus("50000");
                System.out.println(m.getName()+"...."+m.getId()+"...."+m.getSalary());
       
                Coder c = new Coder("","9875",5000);
                c.work();
                System.out.println(c.getName()+"...."+c.getId()+"...."+c.getSalary());
        }
}
/*
雇员类
工资 salary 姓名 name 工号 id
*/
public abstract class  Employee
{
        private String name;
        private String id;
        private double salary;

        public Employee(){}

        public Employee(String name,String id,double salary){
                this.name = name;
                this.id = id;
                this.salary = salary;       
        }
        public void setName(String name){
                this.name = name;
        }
        public String getName(){
                return name;       
        }
        public void setId(String id){
                this.id = id;
        }
        public String getId(){
                this.id = id;
        }
        public void setSalary(double salary){
                this.salary = salary;
        }
        public double getSalary(){
                return salary;
        }
        public abstract void work();

}
/*
        manager类
        工作为管理
*/
public class Manager extends Employee{
        private String bonus;
        public Manager(){}
        public Manager(String name,String id,double salary){
                super(name,id,salary);
        }
        public  void work(){
                System.out.println("我的名字是:"+getName()+",我的工号是:"+getId()+",我的工资是:"+getSalary());
        }
        //public void Bonus(){}
        public String Bonus(){
                this.bonus = bonus;
        }
        public void setBonus(String bonus){
                this.bonus = bonus;
        }
        public String getBonus(){
                return bonus;
        }
        public void Bonus(String bonus){
                System.out.println("奖金");
        }

}
/*
        coder类
        工作为写代码
*/
public class Coder extends Employee{
        public Coder(){}
        public Coder(String name,String id,double salary){
                super(name,id,salary);
        }
        public  void work(){
                System.out.println("我的名字是:"+getName()+",我的工号是:"+getId()+",我的工资是:"+getSalary());
        }
}请大神指点下,谢谢

捕获1.PNG (15.83 KB, 下载次数: 6)

捕获1.PNG

4 个回复

倒序浏览
一个文件中只能存在一个public类
回复 使用道具 举报
.......................................................
回复 使用道具 举报
本帖最后由 745661590 于 2016-7-12 01:46 编辑

你的抽象类和子类都加了 public。解释:java语法规范中一个java类中只能有一个public class,不能出现多个,否则会直接报错,无法进行正常编译的。
备注:如果想进行多个class方法调用,建议创建多个class类文件的形式实现,要通过一个java文件实现是没法做到的。public class A {}     
class B {}     
class C {}  


回复 使用道具 举报
一个class文件中只能存在一个public class,可以把不同的类放在不同的文件内
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马