1,抽象类一定是个父类? 是的,因为不断抽取而来的。 2,抽象类是否有构造函数? 有(即使不定义构造函数,也还有默认构造函数呢…) 对于父类而言,其除了可以给自己的对象初始化以外,还可以给子类对象初始化。 而抽象类是父类。虽然不能给自己的对象初始化,但是可以给自己的子类对象初始化。 3,抽象类中是否可以不定义抽象方法。 是可以的,那这个抽象类的存在到底有什么意义呢?仅仅是不让该类创建对象。 4,抽象关键字abstract不可以和哪些关键字共存? 1,private:(抽象方法要被覆盖,父类private修饰的方法是没法被覆盖的。) 2,final:(因为final修饰类没法被继承,不可能产生子类) 3,static:(static修饰的成员随着类的加载被加载,可以直接被类名调用。抽象的方法如果成了静态就可以被类名所调用,而抽象方法被调用本身就没有意义。) 注意:abstract能修饰类、修饰方法、但是不能修饰变量! 抽象类和一般类的异同点: 相同: 1,它们都是用来描述事物的。 2,它们之中都可以定义属性和行为。 不同: 1,一般类可以具体的描述事物。抽象类描述事物的信息不具体 2,抽象类中可以多定义一种成员:抽象函数。而一般类定义不了。 3,一般类可以创建对象,而抽象类不能创建对象。 个人理解:如果一个抽象类不被继承,将没有任何意义。抽象类就是为继承而生的。
|