黑马程序员技术交流社区

标题: 抽象类的一个小问题 [打印本页]

作者: 王亚飞    时间: 2013-3-18 11:36
标题: 抽象类的一个小问题
本帖最后由 王亚飞 于 2013-3-18 12:47 编辑

  1. abstract class yg
  2. {
  3.                private String name;
  4.                private String id;
  5.                private double pay;
  6.               yg(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. }
  14. class mg extends yg
  15. {
  16.         private double jiangjin;
  17.         mg(String name,String id,double pay,double jiangjin)
  18.         {
  19.                 super(name,id,pay);
  20.                 this.jiangjin = jiangjin;
  21.         }
  22.         public void work()
  23.         {System.out.println("mg work");
  24.         }
  25. }
  26. class por extends yg
  27. {
  28.         por(String name,String id,double pay)
  29.         {
  30.                 super(name,id,pay);
  31.         }
  32.         public void work()
  33.         {
  34.                 System.out.println("por work");
  35.         }
  36. }
  37. //看到抽象类的练习视频,看完了自己做了个,发现有错误,父类写了抽象方法,类名报错,和视频对了对也没发现自己哪写的和视频不一样,后来发现,父类定义了抽象方法,父类的类名中也得加抽象关键字,但是看视频没写,又找了找笔记发现确实是抽象方法必须放在抽象类中。心里还有点嘀咕,视频里父类不是抽象类,里面有抽象方法,这样是不对的吧。必须得把这个类写成抽象类吧?


复制代码

作者: 赵晓东    时间: 2013-3-18 11:45
恩,只要该类中定义了抽象方法,那么该类也必须定义为抽象类,如果抽象类的子类继承了抽象类,其子类就必须重写其父类的抽象方法,如果子类没有重写父类全部的抽象方法,那么其子类也必须定义为抽象类
作者: 123    时间: 2013-3-18 11:52
只要是类中定义了抽象方法,那么类就必须定义成抽象的。而抽象类里可以没有抽象方法。




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