抽象类:
抽象类的特点:
1,没有方法体的方法是抽象方法,一定定义在抽象类中,
2,抽象类和抽象方法必须用abstract关键字所修饰。
3,抽象类不可以被实例化。 为啥?因为调用抽象方法没有意义,没有方法体。
4,抽象类必须由其子类覆盖掉所有的抽象方法后,其子类才可以 进行实例化。
否则,该子类还是一个抽象类。
细节问题;
1,抽象类一定是父类?
是,
2,抽象类是否有构造函数?
有,因为是给子类对象提供初始化动作的。
3,抽象类中是否可以不定义抽象方法?
可以的。目的是不让其该类创建对象。调起来没有意义。这中情况在java的
体系中就有存在。没有抽象方法的抽象类 windowAdapter
4,抽象关键字不能和那些关键字共存。
final:类上修饰了final的话 就不可以被继承
private:抽象类中的方法如果被私有了,那么继承的子类就无法覆盖其抽象类。
static:如果抽象类中的抽象方法修饰为静态,那么调用此类就直接用类名点调用,就不需要对象了。。。
一般类和抽象类有什么异同呢?
相同之处:一般类和抽象类都用于描述事物,
里面都可以定义属性和行为,以及构造函数。
不同之处:
一般类中不可以定义抽象函数,抽象类可以。
一般类可以被实例化,抽象类不行。
一般类可以被继承,也可以不被继承。
抽象类一定要被继承,需要其子类覆盖所有的抽象方法子类才可以被实例化。 |