抽象类
描述:
如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。
1)用abstract关键字来修饰一个类时,这个类就叫抽象类
访问修饰符abstract 类名{
}
2)用abstract关键字来修饰一个方法时,这个方法就是抽象方法
访问修饰符abstract 返回类型方法名(参数列表);//没有方法体
3)抽象类的价值更多作用是在于设计,是设计者设计好后,让子类继承并实现抽象类()
的注意事项和细节:
1)抽象类不能被实例化。
2)抽象类不一定要包含abstract方法。也就是说,抽象类可以没有abstract方法。
3)一旦类包含了abstract方法,则这个类必须声明为abstract。
4) abstract 只能修饰类和方法,不能修饰属性和其它的。
5)抽象类可以有任意成员(抽象类本质还是类),比如:非抽象方法、构造器、静态属性等等。
6)抽象方法不能有主体,即不能实现。
7)如果一个类继承了抽象类,则它必须实现抽象类的所有抽象方法,除非它自己也声明为abstract类。
public class AbstractDetail02 {
}
class E extends D{
public E(String name) {//构造器
super(name);
}
@Override
public void hi(){
System.out.println("");
}
}
abstract class F extends D{
public F(String name) {//构造器
super(name);
}
}
abstract class D{
private String name;
{
System.out.println("方法块");
}
static {
System.out.println("静态方法块");
}
public D(String name) {
this.name = name;
}
public abstract void hi();
}