抽象类和普通类主要有三点比较大的区别:
1.首先应该知道,抽象类是不能被实例化的,就是不能用new调出构造方法创建对象,而普通类则反之!
2.抽象类的访问权限限于Public和Protected,因为抽象类的方法是需要继承之后让子类去实现的,如果为Private,则无法被子类继承,子类也无法实现该方法
package com.test.test;
public abstract class TestAbstract {
public abstract void fun();
}
package com.test.test;
public abstract class TestAbstract {
protected abstract void fun();
}
3.如果一个类继承于抽象类,则该子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为abstract类。
创建一个类为抽象类,并在其中定义一个方法。
package com.test.test;
public abstract class TestAbstract {
abstract void fun();
}
创建一个子类对象,在我刚刚继承抽象类时,他提示我必须实现抽象类中的方法!
抽象类必须要有抽象方法吗
- 抽象类必须有关键字abstract来修饰。
- 抽象类可以不含有抽象方法
- 如果一个类包含抽象方法,则该类必须是抽象类