抽象类

1.抽象类的定义

    抽象类是为子类提供一个规范,这就必须联系到继承;

    抽象类的制定就是让子类继承的;

      public abstract 类名{

        //类体

        //抽象方法

        修饰符 abstract 返回值类型 方法名(参数列表);

        }

    *抽象方法没有方法体:public abstract void test();

    **普通方法有方法体:public  void test(){//方法体};

    (1)定义一个类,如果这个类是抽象类,那么这个类中至少含有一个抽象方法;

    (2)再抽此昂类中的方法不一定是抽象方法,但含有抽象类的方法一定是抽象类

2.抽象类的使用

      @Override用来检测是否重写成功

          我们可以在抽象类中添加未实现的方法(抽象方法)

      (1)一个类继承了抽象类,就必须重写该抽象类的所有抽象方法

(2)如果有一个类没有重写抽象类的抽象方法,那么这个类也要重新定义为抽象类

示例代码:

package com.java1995;
/**
* 猫科动物类
* @author ideaor
*
*/
public abstract class Feline {

private int legCount=4;
private String headShape="round";
private boolean meatEater=true;
/**
* 普通方法,动物呐喊
*/
public void cry(){
System.out.println("动物在狂吼");
}
/**
* 抽象方法,捕食
* @param animal
*/
public abstract void catchAnimal(Animal animal);

}

package com.java1995;

public class Animal {

}

package com.java1995;

public class Tiger extends Feline{
/**
* 老虎
*/

@Override
public void catchAnimal(Animal animal) {
// TODO Auto-generated method stub
System.out.println("老虎在捕食");

}

}

package com.java1995;

public class Cat extends Feline {

@Override
public void catchAnimal(Animal animal) {
// TODO Auto-generated method stub
//首先要判断捕食的animal是否是老鼠,如果是,可以捕食
if (animal instanceof Mouse){
System.out.println("猫正在捕食老鼠");
}
else
System.out.println("猫不能捕食");
}

}

package com.java1995;

public class Mouse extends Animal{

}

最新文章

  1. 连接Linux下 XAMPP集成环境中部署的禅道的数据库MariaDB
  2. DFA敏感词过滤
  3. linux 学习1
  4. The Secrets of Oracle Row Chaining and Migration
  5. Linux服务器集群系统(二)--转
  6. oracle db shutdown immediate–multi Instance
  7. Java 时间转换问题总结
  8. Data Recovery Advisor (DRA)
  9. 记2016商大ACM省赛
  10. SQLite事务与自增深度分析
  11. php+redis 学习 二 悲观锁
  12. 【bzoj 2303】【Apio2011】方格染色
  13. 【翻译】Flume 1.8.0 User Guide(用户指南) Processors
  14. WinForm 中 comboBox控件数据绑定
  15. spark join
  16. 面向服务的SOA架构与服务总线ESB
  17. python对excel操作
  18. bzoj 2752
  19. ansible 变量传递到include
  20. 【CSVRead】-jmeter

热门文章

  1. [菜鸟]HTTP 与 HTTPS 的区别
  2. linux 文件夹操作
  3. 用友时空KSOA功能挖掘之zl_func函数
  4. jmeter正则提取值 同级目录下的值
  5. shell之三大文本处理工具grep、sed及awk
  6. Java之List使用场景
  7. C++11 自动推导auto
  8. psutil库
  9. 样本服从正态分布,证明样本容量n乘样本方差与总体方差之比服从卡方分布x^2(n)
  10. python 获取自身ip