如果一个类中包含抽象方法,那么这个类就是抽象类
接口就是指一个方法的集合,接口中的所有方法都没有方法体,在Java中,接口通过关键字interface来实现的。
相同点:
1、都不能被实例化。
2、接口的实现类或抽象类的子类都只有实现了接口或抽象类中的方法后才能实例化。
不同点:
1、接口只有定义,其方法不能在接口中实现,只有实现接口的类才能实现接口的方法,而抽象类可以有定义与实现,即其方法可以在抽象类中实现。
2、接口需要实现,但抽象类只能被继承。
3、接口强调特定功能的实现,而抽象类强调所属关系。
4、接口中定义的成员变量默认为public static final,只能够有静态的不能被修改的数据成员,而且必须给其赋初值,其所有的成员方法都是Public、abstract的,而且只能被这两个关键字修饰。
而抽象类可以有自己的数据成员变量,也可以有非抽象的成员方法,而且,抽象类中的成员变量默认为default,当然也可以有private /protected/public。抽象类的抽象方法前不能用private/static/synchronized/native等访问修饰符修饰,同时方法必须以分好结尾,并且不能花括号。
下列关于接口的定义中,正确的是()
A、void method(); B 、public double method();
C 、public final double method(); D、static void method(double dl);
E、 protected void method(double d); F、int a;
G 、int b=1;
答案为: A、B、G