加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 教程 > 正文

源码详解Java接口和抽象类的差异

发布时间:2021-12-14 21:01:20 所属栏目:教程 来源:互联网
导读: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.其他……
 
 

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读