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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

毕老师视频抽象类练习中的源代码
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();

}



class Manager extends Employee
{
        private int bonus;
        Manager(String name,String id,double pay,int bonus)
        {
                super(name,id,pay);
                this.bonus = bonus;
        }
        public void work()
        {
                System.out.println("manager work");
        }
}

class Pro extends Employee
{
        Pro(String name,String id,double pay)
        {
                super(name,id,pay);
        }
        public void work()
        {
                System.out.println("pro work");
        }
}
class  
{
        public static void main(String[] args)
        {
                System.out.println("Hello World!");
        }
}
我想说的是类Employee中有一个抽象方法work(),若要正常编译则应该在类Employee前加abstract关键字修饰...(注意讨论的是加主函数main 的类名后编译产生现象)

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

4 个回复

倒序浏览
public abstract void work();
这句不是已经证明这就是一个抽象类,默认在Employee加了abstract吗?
回复 使用道具 举报
声明抽象类格式:
abstract class 类名{}
1,用abstract修饰类时表示是一个抽象类,此类不能实例化;
2,如果一个类中有抽象方法,那么这个类一定是一个抽象类;
3,一个抽象类可以没有抽象方法;
4、抽象类出现的目的就是为了继承;
5、一个抽象类一般作为工具类;(最佳实践为接口)
6、抽象类中的抽象方法目的就是为了覆盖;
7、抽象的方法,不能使用private修饰;
回复 使用道具 举报
黄金龙 发表于 2013-1-13 23:27
public abstract void work();
这句不是已经证明这就是一个抽象类,默认在Employee加了abstract吗? ...

你可以试着编译一下,确实会运行错误....
回复 使用道具 举报
修心者 发表于 2013-1-14 00:04
声明抽象类格式:
abstract class 类名{}
1,用abstract修饰类时表示是一个抽象类,此类不能实例化;

兄台总结很详细,受益匪浅:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马