安卓开发基础新手必知java知识之接口与抽象类的区别

来源:互联网 发布:淘宝售后客服热线 编辑:程序博客网 时间:2024/05/29 13:57

抽象类和接口的出现是因为对象的一些行为是无法具体实现的,java程序员编译出来为的是被调用者自己设置具体的功能

抽象类:abstract

定义:一个类中有用abstract关键字修饰的抽象方法,这个类即为抽象类,一个抽象类可以有多个抽象方法。

public abstract class Student {
 abstract void  study();//abstract修饰的学生学习的方法,但是不知道学习这个行为具体是怎样实现的,所以用abstract定义为抽象的。
 void sleep(){
  System.out.println("躺着");
 }
}
class chongciStudent extends Student{
 void study(){
  System.out.println("chongci study");
 }
}
class advstudent extends Student{
 void study(){
  System.out.println("adv study");
 }

}

接口:interface

定义:

接口泛指供别人调用的方法或者函数。

 

public abstract class Door {
 abstract void close();

 abstract void open();

}

interface Alarm {
 abstract void alarm();
}

class AlarmDoor extends Door implements Alarm {//一个接口只能继承一个类
 void open() {
  System.out.println("推开门");
  close();

 }

 public void alarm() {
  System.out.println("报警了!");
  
 }

 void close() {
  System.out.println("门关上了");
  
 }

}

接口与抽象类的区别:

     1)抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract方法;

  2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;

  3)接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;

  4)一个类只能继承一个抽象类,而一个类却可以实现多个接口。

    5)抽象类的存在必须要有继承extends,而接口是用implements实现的。

1 0