初学Java基础学习——抽象类和接口的区别
一、关键字
1)抽象类的关键字
abstract class A{
//定义一个抽象类;
}
class Test extends A{
//子类使用extends继承抽象类
}
2)接口的关键字
interface IMessage{
/定义一个接口
}
class Test2 implements IMessage{
//子类使用implements实现接口
}
二、成员组成
1)抽象类的成员包括:抽象方法、普通方法、构造方法、全局常量、全局变量、普通属性。
abstract class A{
//定义一个抽象类;
public int num; //普通属性
public static int num1 ;//全局变量
public static final String name ="HELLO" ; //全局常量
public A(){
// 构造方法
}
public abstract void fun();//抽象方法
public void get(){} //普通方法
}
2)接口的成员只有:抽象方法和全局常量
interface IMessage{
//定义一个接口
public static final String name = "HELLO";
public abstract void fun();
}
三、权限使用
1)抽象类可以使用所有权限;
2)接口则只能使用public权限;
四、继承关系
1)抽象类只能实行单继承;但是可以实现多个接口;
2)接口不能继承抽象类,但是可以用extends来继承多个接口;且一个子类可以实现多个接口;