1.抽象类针对的是类,接口针对打的是行为(方法)。
2.抽象类和抽象方法
①.没有足够的信息创建对象,抽象类不能实例化。
②.抽象类不一定有抽象方法,抽象方法一定在抽象类中。
③.如果一个类继承了抽象类,那么这个类一定要实现抽象类里的方法,如果没有实现 抽象类里的抽象方法,那么意味着这个类也是一个抽象类。
3.接口:
①.接口定义的是多个类共同的公共行为规范,这些行为是与外部交流的通道,这就意 味着接口里通常是定义一组公用的未实现的方法。
②.接口的访问修饰符是public,接口的所有成员默认都是public的。
③.接口的成员列表只能包含抽象方法及常量,常量必须在接口中定义的时候就初始化。
抽象方法开头默认有public abstract
//方法一
public abstract void a();
//方法二
void b();
接口里的量都是常量,因为一个接口可以被多个类实现,如果不定义成final的话每个实现了该接口的类都去改变这个变量就会产生错误,所以必须定义成final。
④.定义一个接口需要使用interface关键字
⑤.接口可以继承接口,和类不同的是,接口继承其他接口的时候,是可以多继承的
⑥.接口没有构造方法,也就是说,接口和抽象类一样不能创建自己的对象。
//定义一个接口
public interface OneToN {
int dispose(int n);
}
想使用接口必须实现接口定义的方法
public class Sum implements OneToN{
@Override
public int dispose(int n) {
int sum=0;
for (int i = 1; i <= n; i++) {
sum+=i;
}
return sum;
}
}