抽象类
抽象:描述看不懂的对象
abstrac 关键字
修饰类 --- 抽象类
修饰方法--- 抽象方法
修饰变量 --- 没有抽象变量
抽象类写法:
abstract class 类名
抽象的特点:
1.成员变量 可以有变量 也可以有常量
2.成员方法
可以是抽象方法 抽象方法不能有实现部分
(public abstract void fun();)
可以有非抽象方法(普通的成员方法)
3.构造方法:有构造方法
4.如何创建对象
注意:
1.抽象类 不能实例化对象 (不能创建对象)
2.抽象类中 可以没有抽象方法
3.有抽象方法的类 一定是抽象类
抽象类中 可以没有抽象方法
继承抽象类:
例如:
/*
* 人 吃 睡
* 学生类 吃肉 趴桌子上睡
*
* 注意: 如果继承一个抽象类 必须重写父类中的 抽象方法
*/
public class Demo02 {
public static void main(String[] args) {
//使用多态的形式 来创建对象
Person person = new Student();
person.eat();
person.sleep();
}
}
//人 类
abstract class Person{
//吃
//声明了一个抽象方法
public abstract void eat();
//睡
public abstract void sleep();
}
class Student extends Person{
// 重写父类中的抽象方法
@Override
public void eat() {
System.out.println("学生吃肉");
}
@Override
public void sleep() {
System.out.println("学生趴桌子上睡");
}
}