关于抽象类和接口

时间:2014-01-23 18:12:40   收藏:0   阅读:332

       所谓的抽象类指定义有抽象函数的类。定义抽象函数的关键字是abstract,抽象函数的特点就是只有函数的声明,没有函数的定义。抽象类只是提供一个框架,更有利于程序的组织。就如动物类为列

bubuko.com,布布扣
1 public abstract class testAnimal {
2     
3     public abstract void run();
4      /*
5     public void breath(){
6         System.out.println("动物会呼吸");
7     }
8 */
9 }
bubuko.com,布布扣

不同的动物有不同的跑,所以定义为抽象类。具体实现如狗类:

bubuko.com,布布扣
class Dog extends testAnimal{

    @Override
    public void run() {
        // TODO Auto-generated method stub
        System.out.println("狗跑");
    }
    
}
bubuko.com,布布扣

在里面要求run方法必须重写。因此增加了程序的灵活性。当然在抽象类中也可以定义非抽象函数,只要是含有一个抽象函数的类就叫做抽象类,抽象方法必须重写。

public static void main(String[] args){
        Dog dog = new Dog();
        dog.run();
        dog.breath();
    }

 

二:接口

接口中只能有常量和抽象函数,即使没有申明,系统也会自动默认,因此接口只是提供一个框架,实现都在其子类当中。

bubuko.com,布布扣
package cn.java.testAbstractClass;

public interface Animal {
    
        int MAX_SPEED=10;
        
         public void run();   //这里即使没有申明为抽象函数,但是系统自己会默认为抽象的在后面的定义中必须重写
         
     
}

class Dog implements Animal{

    @Override
    public void run() {
        // TODO Auto-generated method stub
        System.out.println("狗跑!!!");
    }    
    
}
bubuko.com,布布扣

原文:http://www.cnblogs.com/li573925122/p/3530723.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!