JAVA基础之基础,抽象类和接口的区别。。。。。。
要是还不能很清晰的给别人讲述这两者之间的区别,建议自己动手写写代码,就会有所领悟了。
1.抽象类
- public abstract class testAbstractClass {
-
- private int TEST_NUM;
-
- public abstract int testMethod();
-
- public int test2Method() {
- return 0;
- }
-
- private int test3Method() {
- return 0;
- }
- }
2.接口
- public interface testInterface {
-
- public abstract int testInterface();
- public int test2Interface();
-
- }
3.子类继承抽象类
- public class testExtendsAbstractClass extends testAbstractClass{
-
- @Override
- public int testMethod() {
-
- return 0;
- }
-
- }
4.子类实现接口
- public class testImplementsInterface implements testInterface {
-
- @Override
- public int testInterface() {
-
- return 0;
- }
-
- @Override
- public int test2Interface() {
-
- return 0;
- }
-
- }
注:以上代码均为编译通过总结:
1.接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的;而抽象类是可以有私有方法或私有变量;
2.实现接口一定要实现接口定义的所有方法,而继承抽象类可以有选择的重写需要用到的方法,但抽象方法必须实现;
3.一般应用里,最顶级的是接口,然后是抽象类实现的接口,最后才是具体类的实现。
4.接口多实现,类单继承
常见思考问题:
1.抽象类中私有方法或私有变量有什么作用;
2.接口中抽象方法和一般方法有什么区别;
转载请注明:
3.其他……
阅读(1002) | 评论(0) | 转发(0) |