黑马程序员技术交流社区

标题: 为什么我不能通过对象名调用getName()函数 [打印本页]

作者: MAY1066    时间: 2015-7-1 22:50
标题: 为什么我不能通过对象名调用getName()函数
/*
        2:请用抽象类体现如下代码:
        需求:公司中程序员有姓名,工号,薪水,工作内容。
              项目经理除了有姓名,工号,薪水,还有奖金,工作内容。
思路:
        员工(程序员、项目经理)
                姓名 工号 薪水
                工作

        程序员 简单的继承
        项目经理 简单继承+奖金
        //员工抽象类

*/
class DemoTest
{
        public static void main(String[]args)
        {
                Manager m=new Manager();
                m.setName("王大华");
                //m.setAge(23);
                //m.setNumber(234532);
                //m.setSalary(10000);
                //System.out.println("姓名:"+m.getName()+" 年龄: "+m.getAge()+" 工号: "+m.getNumber()+"薪水: "+m.getSalary());
                m.JiangJin();
        }
}

//定义一个员工的抽象类
abstract class Worker
{
        public Worker(){}

        private String name;
        private int age;
        private int number;
        private int salary;
       
        public void setName(String name)
        {
                this.name=name;
        }
        public String getName()
        {
                return name;
        }

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

        public int  getAge()
        {
                return age;
        }

        public void setNumber(int number)
        {
                this.number=number;
        }

        public int getNumber()
        {
                return number;
        }

        public void setSalary(int salary)
        {
                this.salary=salary;
        }

        public int getSalary()
        {
                return salary;
        }

        public abstract void WorkFor();
}

//定义一个程序员的类继承自worker类
class Programmer extends Worker
{
        public Programmer(){}

        public void WorkFor()
        {
                System.out.println("程序员主要负责开发程序");
        }
}

//定义一个项目经理类继承自Worker
class Manager
{
        public Manager(){}

        public void WorkFor()
        {
                System.out.println("项目经理主要负责项目的管理");
        }

        public void JiangJin()
        {
                System.out.println("项目经理会得到很多的奖金");
        }
}


作者: 453203489    时间: 2015-7-2 03:56
注意看你的代码,  因为你的Manager类并没有注明extends Worker,  而name是Worker中的属性, 当然也就没有getter 和 setter 方法了。
作者: 杨基米德    时间: 2015-7-2 06:37
class Worker extends Programmer




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2