本文代码仓库地址: gitee码云CSDN笔记仓库地址
抽象类和抽象方法【Main.java】
package cn.xiaoyin98.Demo10;
/**
* @author 小印丶
* @date 2021-01-19 23:15
*
* 抽象类 和 抽象方法
*
* 抽象方法:
* 1、就是加上 abstract关键字
* 2、抽象抽象方法必须是在抽象类中
*
* 抽象类:
* 1、在 class 前面加上 abstract关键字
* 2、一个抽象类不是必须要有抽象方法,但是抽象方法必须是在抽象类中
*/
public class Main {
public static void main(String[] args) {
MxyZoo mZoo = new MxyZoo() {
@Override
public void mFunEat() {
System.out.println("动物吃东西,自己在new的时候需要覆盖重写自己的抽象方法");
}
};
mZoo.mFunEat();
mZoo.mFun01();
MxyDog mDog = new MxyDog();
MxyCat mCat = new MxyCat();
mDog.mFunEat();
mCat.mFunEat();
mDog.mFun01();
mCat.mFun01();
}
}
父类:动物类【MxyZoo.java】
package cn.xiaoyin98.Demo10;
/**
* @author 小印丶
* @date 2021-01-20 21:16
*
* 父类:动物类
* 抽象类,其中可以有普通方法和抽象方法
* 普通类中不可以使用抽象方法
*/
public abstract class MxyZoo {
public MxyZoo(){
System.out.println("这是动物类的构造方法");
}
/**
* 这是【父类】动物类 吃的抽象方法,使用前或者继承者需要覆盖重写这个方法
*/
public abstract void mFunEat();
public void mFun01(){
System.out.println("这是动物类中的普通方法");
}
}
子类:狗狗类继承父类动物类【MxyDog.java】
package cn.xiaoyin98.Demo10;
/**
* @author 小印丶
* @date 2021-01-20 21:24
*
* 子类:狗狗类继承父类动物类
* 子类继承父类的抽象方法,进行重写,可以通过上面的 圈a Override 没有报错进行判断这就是重写
*/
public class MxyDog extends MxyZoo {
public MxyDog() {
System.out.println("这是狗狗类中的构造方法");
}
@Override
public void mFunEat(){
System.out.println("狗狗吃骨头");
}
}
子类:猫咪类 继承父类动物类【MxyCat.java】
package cn.xiaoyin98.Demo10;
/**
* @author 小印丶
* @date 2021-01-20 21:39
*
* 子类:猫咪类 继承父类动物类
* 子类继承父类的抽象方法,进行重写,可以通过上面的 圈a Override 没有报错进行判断这就是重写
*/
public class MxyCat extends MxyZoo {
public MxyCat() {
System.out.println("这是猫咪类中的构造方法");
}
@Override
public void mFunEat(){
System.out.println("猫咪吃小鱼");
}
}
一点点笔记,以便以后翻阅。