源码详解Java接口和抽象类的差异
发布时间:2021-11-22 11:52:04 所属栏目:教程 来源:互联网
导读:Java基础之基础,抽象类和接口的区别。要是还不能很清晰的给别人讲述这两者之间的区别,建议自己动手写写代码,就会有所领悟了。 1.抽象类 public abstract class testAbstractClass { //抽象类是可以有私有方法或私有变量 private int TEST_NUM; public abs
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() { // TODO Auto-generated method stub return 0; } } 4.子类实现接口 public class testImplementsInterface implements testInterface { //实现接口一定要实现接口定义的所有方法 @Override public int testInterface() { // TODO Auto-generated method stub return 0; } @Override public int test2Interface() { // TODO Auto-generated method stub return 0; } } 注:以上代码均为编译通过 总结: 1.接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的;而抽象类是可以有私有方法或私有变量; 2.实现接口一定要实现接口定义的所有方法,而继承抽象类可以有选择的重写需要用到的方法,但抽象方法必须实现; 3.一般应用里,最顶级的是接口,然后是抽象类实现的接口,最后才是具体类的实现。 4.接口多实现,类单继承 常见思考问题: 1.抽象类中私有方法或私有变量有什么作用; 2.接口中抽象方法和一般方法有什么区别; 3.其他…… ![]() (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |