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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张振纲 中级黑马   /  2012-8-24 21:08  /  1256 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package com.zzg.java;

  2. public class Employee{

  3.         private String name;
  4.         private int id;
  5.         private int pay;
  6.         
  7.         public String getName() {
  8.                 return name;
  9.         }

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

  13.         public int getId() {
  14.                 return id;
  15.         }

  16.         public void setId(int id) {
  17.                 this.id = id;
  18.         }

  19.         public int getPay() {
  20.                 return pay;
  21.         }

  22.         public void setPay(int pay) {
  23.                 this.pay = pay;
  24.         }

  25.         Employee(String name,int id,int pay){
  26.                 this.id=id;
  27.                 this.name=name;
  28.                 this.pay=pay;
  29.         }
  30. }

  31. public class Manager extends Employee{
  32.         private int commision;
  33.         Manager(String name,int id,int pay,int commision){
  34.                 this.commision= commision;
  35.         }
  36. }
复制代码
使用MYECLIPSE写了这一段程序,想用Manager继承Employee可是老是让我重命名为什么啊,求解释

附图

3 个回复

倒序浏览
你是在同一个java文件中写的这两个类吗?java只允许在一个java文件中存在一个public的类,且该java文件名必须与该类名一致。
回复 使用道具 举报
楼上正解!
回复 使用道具 举报
package com.gaga.test1;

public class Test{

        private String name;
        private int id;
        private int pay;
        
        public Test(String name, int id, int pay) {
                       
                        this.name = name;
                        this.id = id;
                        this.pay = pay;
                }

                public String getName() {
                return name;
        }

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

        public int getId() {
                return id;
        }

        public void setId(int id) {
                this.id = id;
        }

        public int getPay() {
                return pay;
        }

        public void setPay(int pay) {
                this.pay = pay;
        }

     
}

class Manager extends Test{
          private int commision;
        Manager(String name,int id,int pay,int comm){
                super(name, pay, pay);
                this.commision=comm;
            
    }
}
两个问题,一个问题楼上已说了,不能有两个public。第二个问题,调用带参数的基类构造器,必须用关键字super()
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马