JAVA笔记(七)-----抽象类

抽象类特点:

  1.抽象方法一定在抽象类中(抽象方法没有方法体)

  2.抽象方法和抽象类都必须被abstract关键字修饰

  3.抽象类不可以用new创建对象,因为调用抽象方法没有意义

  4.抽象类中的方法必须由子类复写其所有抽象方法后,建立子类对象调用,如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。(子类也要声明为 abstract)

  5.抽象类也可以有非抽象方法,但非抽象类一定不能有抽象方法

1 abstract class student
2 {
3     abstract void study();
4     void sleep()
5     {    
6          System.out.println("abstract");  
7     }
8 }    

抽象类比一般类多了个抽象函数,但不可以实例化(创建对象)

若抽象类中全是抽象函数无其他方法,可以申明为接口

特殊:抽象类中,可以不定义抽象方法,这样做仅仅是为了不让该类创建对象

 

模版方法设计模式:

  在定义功能时,功能部分是不确定的,而确定的部分在使用不确定的部分,那么这时将不确定部分暴露出来,由该类的子类去完成

例:

 1 abstract class Student
 2 {
 3      public final void study()//加上final防止被子类覆盖
 4      {
 5           String classse = "cs";
 6           read();
 7      }    
 8      
 9      public abstract void read();
10 
11 }
12 
13 class Kid extends Student
14 {
15       public void read()
16       {
17           System.out.println("read book");
18       }
19 }

 

posted @ 2016-03-23 08:58  追风少年阿远  阅读(105)  评论(0)    收藏  举报