码迷,mamicode.com
首页 > 其他好文 > 详细

抽象类

时间:2015-03-15 07:12:32      阅读:152      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!