抽象类
package com.mgg.review;
/*
* 抽象类 abstract class
* 包含抽象方法的类叫做抽象类
* 抽象类是半抽象的类,因为既可以包含抽象方法,也可包含非抽象方法
* 抽象类不能实例化,是作为一个模板类,用于被继承
* 一个类继承自抽象类,必须实现继承的所有抽象方法
*/
abstract class Animal {
String color;
int numberOfLegs;
//成员方法
public void move() {
System.out.println("移动");
}
//实现了的方法:有方法体的方法,即使方法体内部没有内容
//未实现的方法:只有方法声明,没有方法体,以分号结束方法定义,未实现的方法是抽象方法
//方法声明
public abstract void eat();
}
//子类继承自抽象类,需要实现继承的所有抽象方法
//猪是动物
class Pig extends Animal{
String breed; //品种
@Override
//实现一个抽象方法即重写方法,只不过重写的是抽象方法
public void eat(){
System.out.println("猪爱吃");
}
}
class Cat extends Animal{
@Override
public void eat() {
System.out.println("猫爱吃老鼠鱼");
}
}
public class Demo3_AbstractClass {
public static void main(String[] args) {
//实例化就是创建对象的过程
//抽象类是不能实例化的,也就是不能创建对象
Pig pig=new Pig();
pig.eat();
Cat cat=new Cat();
cat.eat();
}
}