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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨建聪 中级黑马   /  2013-1-5 11:51  /  1494 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 yangcong 于 2013-1-5 13:34 编辑

奖金属性。请使用继承的思想设计出员工类和经理类。要求类中提供必要的方
法进行属性访问。
员工类:name id pay
经理类:继承了员工,并有自己特有的bonus。

*/
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!");
}
}




这是老毕的练习答案
疑问:抽象方法只能存在在抽象类中,为什么有抽象方法的class Employee类没有被抽象化

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1

查看全部评分

5 个回复

正序浏览
你好
声明抽象方法的类要被abstract修饰,抽象方法只能声明不能有方法体。
你那样写编译会报错。
回复 使用道具 举报
但汉涛 发表于 2013-1-5 12:13
让编译器告诉你吧~~~
你运行就知道了~~~Employee一定是抽象类,要用关键字abstract。
视频里难道运行了吗? ...

:sleepy:跟前没编译器
回复 使用道具 举报
让编译器告诉你吧~~~
你运行就知道了~~~
  1. abstract class Employee
  2. {
  3. private String name;
  4. private String id;
  5. private double pay;
  6. Employee(String name,String id,double pay)
  7. {
  8.   this.name = name;
  9.   this.id = id;
  10.   this.pay = pay;
  11. }

  12. public abstract void work();
  13. }
复制代码
Employee一定是抽象类,要用关键字abstract。
视频里难道运行了吗?
  1. class  
  2. {
  3. public static void main(String[] args)
  4. {
  5.   System.out.println("Hello World!");
  6. }
  7. }
复制代码
运行了,不至于这个类名也没写吧。
老师只是讲解~~~

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 赞一个!

查看全部评分

回复 使用道具 举报
希望的曙光 发表于 2013-1-5 12:01
public abstract void work();
你定义的类不是抽象了,淡然没有抽象化了
抽象方法也不是你那样定义的

哥们,这是老师的标准答案,抽象方法就是那样定义的,定义的没错,只是疑问为什么类没有被抽象化
回复 使用道具 举报
public abstract void work();
你定义的类不是抽象了,淡然没有抽象化了
抽象方法也不是你那样定义的
public abstract void work(){
  //这样才对嘛
}

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 支持下答题

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马