Java_抽象类
Posted wly-blogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java_抽象类相关的知识,希望对你有一定的参考价值。
A:抽象类的概述
抽象类就是看不懂
B:抽象类特点:(没有具体的实现意义,不知道如何实现的方法就定义为抽象方法,如:动物吃,如何吃?)
a:抽象类和抽象方法必须用abstract关键字形容
abstract class 类名{}
public abstract void eat(){};
b: 抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者接口
c:抽象类不能实例化
抽象类的实例化方式:按照多态的方式,由具体的子类实例化
d:抽象类的子类(如果你的子类没有重写抽象父类的方法,那么你的子类就必须是抽象类(抽象类不能创建对象了),否则报错)
要么是抽象类
要么重写抽象类中所有抽象方法
C:抽象类的成员变量特点
a:成员变量:既可以是变量,也可以是常量,abstract不能修饰常量
b:有构造方法,用于子类访问父类的数据初始化
c:成员方法:既可以是抽象的(子类必须重写才能继承),也可以是非抽象的(不用子类重写就可以继承)
public class abstract_demo {
public static void main (String[] args){
#多态中的向上转型,父类引用指向子类对象(父类是抽象类不能创建对象)
Animal_demo a = new Cat_demo();
a.eat();
}
}
#抽象父类
abstract class Animal_demo{
public abstract void eat();
}
#子类继承抽象父类(要么重写抽象类的方法,要么子类也是一个抽象类)
class Cat_demo extends Animal_demo{
public void eat(){
System.out.println("猫吃鱼");
}
}
以上是关于Java_抽象类的主要内容,如果未能解决你的问题,请参考以下文章
Java基础__慕课网学习(24):深入理解抽象类与接口(转)