java(二十)【面向对象】抽象类

抽象类:

  当多个类中出现相同功能,但是功能主体不同,这时可以进行抽取,这时,只抽取功能定义,而不抽取功能主体

特点:

1.抽象方法一定定义在抽象类中

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

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

4.抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用

 如果子类只覆盖了部分抽象方法,那么子类还是一个抽象类

抽象类比一般类多了个抽象函数,就是在类中可以定义抽象方法。

抽象类不可以实例化

注意:

抽象类中可以不定义抽象方法(不让该类建立方法)

 1 abstract class QinShi
 2 {
 3     abstract void say();
 4     //abstract void say1();
 5     void sleep()
 6     {
 7         System.out.println("睡觉");
 8     }
 9     }
10  class huahua extends QinShi
11 {
12     void say(){
13     System.out.println("123");
14     }
15 }
16 class huahua1 extends QinShi
17 {
18     void say(){
19         System.out.println("456");
20     }
21     }
22 
23 public class Single {
24     public static void main(String[] args) {
25         new huahua().say();
26         new huahua().sleep();
27     }
28 }

 

运行结果:

  

 

posted @ 2015-09-07 09:39  花花妹子。  阅读(89)  评论(0)    收藏  举报