Java基础抽象类学习笔记

一.什么是抽象类

一个类没有足够的信息来描述具体的对象,需要依靠其他具体类来支撑它,把这种类称为抽象类。
例如:animal类,但是这个Animal具体长成什么样子我们并不知道,它没有一个具体动物的概念,所以他就是一个抽象类,需要一个具体的动物,如狗、猫来对它进行特定的描述。

二.抽象类的介绍

  1. 用abstract关键字来修饰一个类时,这个类就叫抽象类 —>public abstract Animal { }
  2. 用abstract关键字来修饰一个方法时,这个方法就是抽象方法—> public abstract void eat(String str); //没有方法体(有抽象方法的类一定是个抽象类)
  3. 抽象类的价值更多作用是在于设计,是设计者设计好后,让子类继承并实现抽象类

三.抽象类使用细节

1.抽象类不能被实例化(不能被new)
2.抽象类不一定要包含abstract方法。也就是说,抽象类可以没有abstract方法
3.一旦类包含了abstract方法,则这个类必须声明为abstract
4.abstract只能修饰类和方法,不能修饰属性和其它的
5.抽象类可以有任意成员【抽象类本质还是类】,比如:非抽象方法、构造器、静态属性等等
6.抽象方法不能有主方法体
7.抽象方法不能使用private、final和 static来修饰,因为这些关键字都是和重写相违背的(抽象方法就是为了被重写)
8.如果一个类继承了抽象类,则它必须实现抽象类的所有抽象方法,除非它自己也声明为abstract类

猜你喜欢

转载自blog.csdn.net/cc1373709409/article/details/123096436