黑马程序员技术交流社区

标题: 基础教程第七天10抽象类练习中的小疑点 [打印本页]

作者: 高薇    时间: 2012-8-17 16:36
标题: 基础教程第七天10抽象类练习中的小疑点
abstract class Worker//员工类
{
        private String name;//姓名
        private String num;//工号
        private double salary;//工资
    Worker(String name,String num,double salary)
        {
                this.name=name;
                this.num=num;
                this.salary=salary;
        }
        public abstract void work();//所有人都必须工作的抽象方法
}
class Pro extends Worker//普通员工
{
        Pro(String name,String num,double salary)
        {
                super(name,num,salary);
        }
        public void work()
        {
                System.out.println("普通工作");
        }
}
class Gender extends Worker//经理
{
        private double prize;
        Gender(String name,String num,double salary,double prize)
        {
                super(name,num,salary);
                this.prize=prize;
        }
        public void work()
        {
                System.out.println("管理工作");
        }
}
class Jc10
{
        public static void main(String[] args)
        {
                Pro p1=new Pro("gg","技术01",12);
                p1.work();
        }
}
在员工类中定义了抽象方法work,记得毕老师说过抽象方法必须定义在抽象类中,我看到视频中的员工类并没有抽象,个人理解是要加上abstract的,在这里想要确认一下!
作者: 孙树勋    时间: 2012-8-17 16:58
抽象类的特点:
1、抽象方法一定在抽象类中。
2、抽象方法和抽象类都必须被abstract关键字修饰。

所以还是要在 Worker//员工类前面加上abstract 关键字的!
作者: 广驰    时间: 2012-8-17 17:18
抽象方法必须定义在抽象类中,如果类中又抽象方法,而类名没有被abstract ,编译的时候是会报错的
那个地方应该是毕老师有点小疏忽忘记写上去了
作者: 高薇    时间: 2012-8-18 08:15
那就好,谢谢!我的问题已解决!




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