关于抽象类和接口

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

关于抽象类和接口
1 public abstract class testAnimal {
2     
3     public abstract void run();
4      /*
5     public void breath(){
6         System.out.println("动物会呼吸");
7     }
8 */
9 }
关于抽象类和接口

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

关于抽象类和接口
class Dog extends testAnimal{

    @Override
    public void run() {
        // TODO Auto-generated method stub
        System.out.println("狗跑");
    }
    
}
关于抽象类和接口

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

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

 

二:接口

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

关于抽象类和接口
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("狗跑!!!");
    }    
    
}
关于抽象类和接口

关于抽象类和接口

上一篇:<摘录>Linux下动态共享库加载时的搜索路径详解


下一篇:location.orgin