黑马程序员技术交流社区

标题: 关于抽象类的疑问 [打印本页]

作者: 杨建聪    时间: 2013-1-5 11:51
标题: 关于抽象类的疑问
本帖最后由 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类没有被抽象化

作者: 希望的曙光    时间: 2013-1-5 12:01
public abstract void work();
你定义的类不是抽象了,淡然没有抽象化了
抽象方法也不是你那样定义的
public abstract void work(){
  //这样才对嘛
}
作者: 杨建聪    时间: 2013-1-5 12:03
希望的曙光 发表于 2013-1-5 12:01
public abstract void work();
你定义的类不是抽象了,淡然没有抽象化了
抽象方法也不是你那样定义的

哥们,这是老师的标准答案,抽象方法就是那样定义的,定义的没错,只是疑问为什么类没有被抽象化
作者: 但汉涛    时间: 2013-1-5 12:13
让编译器告诉你吧~~~
你运行就知道了~~~
  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. }
复制代码
运行了,不至于这个类名也没写吧。
老师只是讲解~~~
作者: 杨建聪    时间: 2013-1-5 13:30
但汉涛 发表于 2013-1-5 12:13
让编译器告诉你吧~~~
你运行就知道了~~~Employee一定是抽象类,要用关键字abstract。
视频里难道运行了吗? ...

:sleepy:跟前没编译器
作者: 何竹冬    时间: 2013-1-5 13:33
你好
声明抽象方法的类要被abstract修饰,抽象方法只能声明不能有方法体。
你那样写编译会报错。




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