抽象的特点:
1,抽象方法没有方法体,必须由抽象关键字所修饰。
2,抽象方法一定存在于抽象类中,必须由抽象关键字所修饰。
3,抽象类不可以实例化。因为调用抽象方法没意义。
4,子类必须覆盖抽象类的所有抽象方法后,子类就可以实例化。否则该子类还是抽象类。
abstract class animal
{
abstract void shut();
}
抽象类的常见问题:
1,抽象类一定是父类吗?
是的,因为只有子类覆盖了抽象类中的方法,才可以创
建对象,去使用这些方法。
2,抽象类中有构造方法吗?
有,因为父类的构造函数可以给子类对象初始化。
3,抽象类中一定有抽象方法吗?
不一定。其实抽象类和一般类都是用来描述事物的。都有具体的属性和行为。
不同之处:
抽象类中可以定义抽象类方法。但是不能实例化。
一般类中不可以定义抽象方法,但是可以实例化。
4,抽象关键字不可以和哪些关键字共存呢?
final:
private:
static:
接口
接口可以简单的理解为是一个特殊的抽象类。
用关键字interface来定义接口。接口中的方法都是抽象方法
接口中的成员都是public修饰的。
interface Inter
{
/*
最常见的成员;全局常量,抽象方法。
*/
public static final int num = 4;
public abstract void show();
}
好处:
1.可以被多实现!一个类可以同时实现多个接口。
2.避免了单继承的局限性。
3.接口可以多继承
interface DemoB extends DemoA,DemoAA//接口上可以有多继承。
{
void show2();
}