抽象类
抽象:描述看不懂的对象
abstrac 关键字
修饰类 --- 抽象类
修饰方法 --- 抽象方法
修饰变量 --- 没有抽象变量
抽象类写法:
abstract class 类名
抽象类
1.成员变量 可以有变量 也可以有常量
2.成员方法 可以是抽象方法 抽象方法不能有实现部分 如:public abstract void fun();
可以有非抽象方法(普通的成员方法)
3.构造方法:有构造方法
定义一个抽象类:
abstract class A{
public void fun(){
System.out.println("存在方法体的方法");
}
public abstract void print();
}
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("学生趴桌子上睡");
}
}