abstract 方法不能被private,static所修饰
abstract方法是子类应覆盖的方法,所以在抽象类中声明它时,不能使用private关键字,(private意味着抽象类的外部类无法访问,既然无法访问,覆盖也就无从谈起)
static方法在不创建对象时也可以调用,所以方法体(body)也应该被定义,若无方法体,也就是不能以”类名。方法名()”的形式对其调用,所以abstract方法(无方法体)不能被static关键字修饰
java接口中,所有方法都是抽象的,所有变量也都是static常量,接口本身就是一种约束
package com.liufofu.intf;
/**
* 测试接口
* */
public interface MyInter {
public static final int MAX = 100;
public static final int MIN = 1;
public abstract void method1();
public abstract void method2(int a);
}
接口的所有变量都是static和final的,接口的所有方法都是抽象方法,所以实现此接口的类只有全部覆盖了接口的全部抽象方法,才能创建对象。我们把继承接口叫做实现接口,使用关键字implements.继承抽象类的关键词是extends,和抽象类相比,接口更具有抽象性,实现接口意味着实现接口的类会继承接口的所有成员。
在类的继承中,只能做单重继承,而实现接口时,一次可实现多个接口,这些接口间用逗号分隔。
|