一、抽象类基本概念
1.很多具有相同特征和行为的对象可以抽象为一个类;很多具有相同特征和行为的类可以抽象为一个抽象类。
2.使用abstract关键字声明的类称为抽象类。
二、抽象类规则
1.抽象类可以没有抽象方法,有抽象方法的类必须是抽象类
2.非抽象类继承抽象类必须实现所有抽象方法
3.抽象类可以继承抽象类,可以不实现父类抽象方法
4.抽象类可以有方法实现和属性
5.抽象类不能被实例化
6.抽象类不能被声明为final
7.抽象类可以有构造方法
代码:
public class Demo {
public static void main(String[] args) {
//抽象类无法被实例化
Man m = new Man();
m.eat();
m.move();
Women w = new Women();
w.eat();
w.move();
}
}
abstract class Animal{
public abstract void move(); //方法的声明,抽象方法只有声明,没有实现
}
abstract class Person extends Animal{
public abstract void eat();
public void sleep()
{
//抽象类可以没有抽象方法,有抽象方法的类必须是抽象类
System.out.println("睡觉");
}
}
//继承抽象类的具体类必须实现所有抽象方法
class Man extends Person{
public void move(){
System.out.println("我是男人,我爱跑步");
}
public void eat(){
System.out.println("我是男人,我爱吃肉");
}
}
class Women extends Person{
@Override
public void eat() {
System.out.println("我是女人,我爱吃水果");
}
@Override
public void move() {
System.out.println("我是女人,我爱逛街");
}
}