抽象类
1、抽象类的概念:很多具有相同特征和行为的对象可以抽象为一个类(比如人就可以抽象为一个类)
2、使用abstract修饰的类为抽象类,定义格式为:
abstract class class_name{
抽象方法;
}
3、抽象类的使用细节
① 抽象类里面的抽象方法只有声明没有实现
abstract class Human{
public abstract void eat();
public abstract void say();
public abstract void sleep();
}
② 继承抽象类的具体类必须实现所有的抽象方法
abstract class Human{
public abstract void eat();
public abstract void say();
public abstract void sleep();
}
class Man extends Human{
@Override
public void eat() {
System.out.println("我要吃很多饭");
}
@Override
public void say() {
System.out.println("我话少");
}
@Override
public void sleep() {
System.out.println("我瞌睡比较大");
}
}
如果不全部实现抽象类里面的方法则会报错
③ 抽象类是不能被实例化的
④ 抽象类能继承抽象类,可以不用实现父类的抽象方法
可以看到,在这里我们没有实现父抽象类里面的抽象方法并没有报错
⑤ 抽象类可以没有抽象方法,但是有抽象方法的类必须是抽象类
⑥ 抽象类可以有方法实现和属性抽象类不能声明为final