zoukankan      html  css  js  c++  java
  • Interface与abstract类的区别

    一、从类的继承来说:
    1. 类可以实现很多个接口,但是只能继承一个抽象类
     
    二、从属性来说:
    1. Java接口中声明的变量默认都是final的。抽象类可以包含非final的变量。
    2. 接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
    3. 抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以重新赋值。
     
    三、从方法上来说:
    1. 接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法
    2. Java接口中的成员函数默认是public的。抽象类的成员函数可以是private,protected或者是public。
     
    注意: 
    关于抽象类 
    JDK 1.8以前,抽象类的方法默认访问权限为protected 
    JDK 1.8时,抽象类的方法默认访问权限变为default 
    关于接口 
    JDK 1.8以前,接口中的方法必须是public的 
    JDK 1.8时,接口中的方法可以是public的,也可以是default的 
    JDK 1.9时,接口中的方法可以是private的
  • 相关阅读:
    微软开发中心的rss历史记录(22)
    asp.net dll 动态生成和调用(转)
    准备写博了
    来博客园报道啦
    web爬行器的准备工作
    跨浏览器设置标签样式
    感谢我身边的朋友们
    难过的一天:(
    12月:期待好运来
    11月 难过一整个世界都寂寞
  • 原文地址:https://www.cnblogs.com/gsqc/p/9250378.html
Copyright © 2011-2022 走看看