美文网首页
java——接口

java——接口

作者: 打死你的小乌龟 | 来源:发表于2018-08-29 23:58 被阅读0次

    接口
    interface定义接口
    接口提高了功能的拓展性,降低了事务之间的耦合性
    接口中定义的是拓展功能
    接口的好处:多实现

    接口中的成员格式:

    1.public static final String NAME = “小李”;//常量定义
    2.public abstract void show();//抽象方法

    1.接口中只能出现public访问修饰符
    2.接口中不能写构造器
    3.接口不能实例化
    4.一个类可以实现多个接口,多个接口之间用逗号分隔,但是一个类只能继承一个父类

    1.重要性:
    在Java中 abstract class和interface是支持抽象类定义的两种机制,正是有这两种机制的存在才赋予了Java强大的面向对象能力
    2.简单,规范性
    3.维护,拓展性
    4.安全,严密性:接口是实现软件松耦合的重要手段

    抽象类和接口的区别

    共同点
    都可以有抽象方法,都不能实例化

    不同点
    1.抽象类用abstract class修饰 接口用interface修饰
    2.接口中的属性都是常量默认public static final 修饰
    抽象类中的属性没有任何限制
    3.抽象类中可以有抽象方法也可以有具体方法
    接口中只能有抽象方法
    4.抽象类中可以定义构造器,接口中不能定义构造器
    5.一个类可以实现多个接口,但是一个只能继承一个抽象类

    final:关键字

    1、final 修饰的类,不能再被继承。
    1) Java 的String就是final类,不能被继承!(面试题可能考到)。
    2) Math 是final类,不能被继承!
    3) Integer 、Long、Character等包装类是final类,不能被继承!
    4) 在实际项目开发中,原则上不允许使用final类!
    Spring,Hibernate,Struts 2,这些框架使用了"动态继承代理"技术,使用final的类会影响"动态代理技术"的实现。

    2、final修饰的方法,不能再被覆盖
    在实际项目开发中,原则上不允许使用final方法! 原因也是因为: 动态代理技术。

    3、final 修饰的变量,初始化以后不允许再修改了。

    4、final static -- Java使用final static修饰的变量作为常量。
    1) 一般要求常量名都有大写字母。
    2) Java常量不是const(c、c++中修饰常量的修饰符)。

    final 修饰的类,不能再被继承。

    注:

    final修饰属性表示“不能改”,static修饰属性表示属于类的“仅此一份”,注意区分。

    知识点:
    1、final的局部变量,只能初始化不能改。
    2、final的方法参数,不能改。
    3、final的引用,引用指向不能改,但是对象的属性可以改。

    final不能用来修饰构造方法。

    使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
    使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。

    final, finally, finalize的区别:

    final: 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

    内部类要访问局部变量,局部变量必须定义成final类型

    finally:是异常处理语句结构的一部分,是异常的统一出口,表示总是执行。
    finalize:是Object类的一个方法,在垃圾收集器执行的时候会调用被回收
    对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,
    例如关闭文件等。JVM不保证此方法总被调用。

    相关文章

      网友评论

          本文标题:java——接口

          本文链接:https://www.haomeiwen.com/subject/yucjiftx.html