黑马程序员技术交流社区

标题: 抽象方法必须定义在抽象类中吗? [打印本页]

作者: py强子    时间: 2013-7-19 17:21
标题: 抽象方法必须定义在抽象类中吗?
抽象方法必须定义在抽象类中吗?能不能定义在一般类中?
作者: xscn    时间: 2013-7-19 17:26
本帖最后由 xscn 于 2013-7-19 18:12 编辑

含有抽象方法的类必须被声明为抽象类。
如果你覆写所有的抽象方法, 子类就变成一个普通的类.
如果没有覆写所有方法, 子类仍是抽象的.
如果一个类中中包含有抽象方法(哪怕只有一个), 你必须声明这个类是抽象的, 在class关键字前加上abstract.
作者: py强子    时间: 2013-7-19 17:33
今天看毕老师讲的一个“抽象类练习”视频,代码是这样的:
class Employee                   //员工
{
                private String name;
                private String id;
                private double pay;
                Employee(String name,String id,double pay)
                {
                                this.name = name;
                                this.id = id;
                                this.pay = pay;               
                }
                public abstract void work();
                       
}
这个类必须声明abstract;
作者: 29198102shihao    时间: 2013-7-19 17:34
含有抽象方法的类一定是抽象类,意味着子类需要实现该抽象类的方法,如果子类是普通类就要实现抽象类所有方法,如果子类也定义成抽象类,可以不去实现父类的抽象方法!但抽象类中可以含有普通方法,
作者: py强子    时间: 2013-7-19 17:38
谢谢啦!今天看讲课视频时,发现了一个小问题,希望以后看视频的同学注意啦!
作者: py强子    时间: 2013-7-19 17:41
07-10-面向对象(抽象类练习),在Employee类中,毕老师忘加Abstract关键字啦!




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