抽象

面向对象编程中,抽象是一个很重要的概念,那么抽象有什么需要注意的地方呢?请熟记以下知识点。

  1. 如果父类当中的方法不确定如何进行方法体的实现,则这个方法就是抽象方法。
  2. 抽象方法只需要在方法前面加上abstract关键字。然后不需要写方法体(去掉大括号即可)。
  3. 抽象方法所在的类,必须为抽象类才行。
  4. 抽象类只需要在类名前面写上abstract关键字即可。
  5. 抽象类中可以定义普通成员方法。
  6. 不可以直接创建抽象类对象。
  7. 必须有继承抽象类的子类,且子类中必须实现父类中的所有抽象方法(除非子类也是抽象类),且必须去掉abstract关键字,继而实现方法体。
  8. 子类实现抽象类的抽象方法本质上是覆盖重写,所以可以并且建议写上 @Override 。
  9. 抽象类中可以有构造方法,是用来初始化父类成员使用的。
  10. 抽象类中不一定有抽象方法,但是有抽象方法的类必定是抽象类。
  11. 没有抽象方法的抽象类也不可以直接new对象。

代码:

父类:

public abstract class Animal {

public static int id = 0;

    public int age;

    public String name;

public Animal(int age,String name){

this.age = age;

        this.name = name;

        id++;

        drink();

    }

public abstract void eat();

public void drink(){

System.out.println(age + "岁的" +  this.name + "喝水");

    }

}

子类:

public class Dog extends Animal {

public Dog(int age,String name){

super(age,name);

    }

@Override

    public void eat(){

System.out.println(super.age + "岁的" + super.name + "吃骨头");

    }

}

运行代码:

public class Demo {

public static void main(String[] args) {

Dog dog = new Dog(3,"二哈");

        dog.eat();

    }

}

最新文章

  1. IBatis存储过程返回值
  2. oracle存储过程实现根据已有数据批量更新另一批数据
  3. linux一些常用命令
  4. 渗透测试常规思路分析-FREEBUF
  5. [Machine Learning]k-NN
  6. jquery,返回到顶部按钮
  7. ImageView 设置OnTouchListener
  8. POJ 2455 Secret Milking Machine(搜索-二分,网络流-最大流)
  9. QT第一天学习
  10. 无需Get更多技能,快速打造一个可持久化的任务调度
  11. 深入理解css优先级
  12. React 实现一个时钟
  13. Ajax 请求头中常见content-type
  14. python之路--迭代器和生成器
  15. gitlab 可以上传代码,但是 不能 上传 tag 问题
  16. C#内置泛型委托:Func委托
  17. 本地PC安装Centos 6.5 操作手册及遇到的问题
  18. java文档打包成压缩包并且下载
  19. Tomcat版本历史
  20. Bytes to be written to the stream exceed the Content-Length bytes size specified 解决方法

热门文章

  1. 结题报告--洛谷P3915
  2. 解决QQ“抱歉,无法发起临时会话,您可以 添加对方为好友以发送消息”
  3. golang socket编程 net.Conn IO.EOF解读
  4. 曹工说Spring Boot源码(24)-- Spring注解扫描的瑞士军刀,asm技术实战(上)
  5. ThinkPHP5.0 漏洞测试
  6. 内置函数---filter和map
  7. java物流查询接口测试代码-快递100
  8. 强化学习之四:基于策略的Agents (Policy-based Agents)
  9. 硬货 | 手把手带你构建视频分类模型(附Python演练))
  10. jmeter4.0介绍一