标签:abstract private public 关键字 最大的
抽象类最大的特点就是包含了抽象方法,而抽象方法是只声明而未实现(没有方法体)的方法。抽象方法在定义时要使用abstract关键字完成,且一定要在抽象类之中;
定义一个抽象类:
abstract class A { private String info = "Hello World ." ; public void print() { System.out.println(info) ; } public abstract void get() ; //只声明没有方法体 } |
抽象类的使用原则:
·抽象类必须有子类,使用extends继承,一个子类只能继承一个抽象类;
·子类(如果不是抽象类)则必须覆写抽象类之中的全部抽象方法;
·抽象类对象可以使用对象的向上转型方式,通过子类来进行实例化操作。
使用抽象类:
abstract class A { private String info = "Hello World ." ; public void print() { System.out.println(info) ; } public abstract void get() ; // 只声明没有方法体 } class Impl extends A { public void get() { System.out.println("Hello MLDN .") ; } } public class Test { public static void main(String args[]) { A a = new Impl() ; //向上转型 a.print() ; //自己类定义 a.get() ; //子类负责实现 } } |
1,抽象类不能使用fianl定义,因为抽象类必须有子类,而final不能有子类;
2,抽象类中可以包含构造方法,因为抽象类之中除了包含抽象方法之外,还包含了普通方法和属性,而属性一定要在构造方法执行完毕之后才能进行初始化操作;
3,抽象类中可以没有抽象方法,但是反过来讲,如果有抽象方法,则一定是抽象类,即使抽象类之中没有抽象方法,也不能被直接实例化
4,如果定义的是外部抽象类,则不能使用static声明,但如果定义的是内部抽象类,那么这个内部的抽象类使用static声明之后,就表示一个外部的抽象类。
标签:abstract private public 关键字 最大的
原文地址:http://9882931.blog.51cto.com/9872931/1620415