zoukankan      html  css  js  c++  java
  • java 抽象类与接口

    在使用抽象类时需要注意几点:

             1、抽象类不能被实例化,实例化的工作应该交由它的子类来完成,它只需要有一个引用即可。

             2、抽象方法必须由子类来进行重写。

             3、只要包含一个抽象方法的抽象类,该方法必须要定义成抽象类,不管是否还包含有其他方法。

             4、抽象类中可以包含具体的方法,当然也可以不包含抽象方法。

             5、子类中的抽象方法不能与父类的抽象方法同名。

             6、abstract不能与final并列修饰同一个类。

             7、abstract 不能与private、static、final或native并列修饰同一个方法。

    接口是一种比抽象类更加抽象的“类”。这里给“类”加引号是我找不到更好的词来表示,但是我们要明确一点就是,接口本身就不是类,从我们不能实例化一个接口就可以看出。如new Runnable();肯定是错误的,我们只能new它的实现类。

    在使用接口过程中需要注意如下几个问题:

             1、个Interface的方所有法访问权限自动被声明为public。确切的说只能为public,当然你可以显示的声明为protected、private,但是编译会出错!

             2、接口中可以定义“成员变量”,或者说是不可变的常量,因为接口中的“成员变量”会自动变为为public static final。可以通过类命名直接访问:ImplementClass.name。

             3、接口中不存在实现的方法。

             4、实现接口的非抽象类必须要实现该接口的所有方法。抽象类可以不用实现。

             5、不能使用new操作符实例化一个接口,但可以声明一个接口变量,该变量必须引用(refer to)一个实现该接口的类的对象。可以使用 instanceof 检查一个对象是否实现了某个特定的接口。例如:if(anObject instanceof Comparable){}。

             6、在实现多接口的时候一定要避免方法名的重复。

  • 相关阅读:
    flashplayer关闭休眠模式
    大道至简,职场上做人做事做管理[转一下]
    flash程序员对python中while True的理解
    github搭建个人主页
    flash素材在as程序中使用的几种方法
    python中解析xml文档转化成字符串的方法
    查看修改mysql编码方式
    FusionCharts
    extJSjson字符串和json对象
    我的收藏
  • 原文地址:https://www.cnblogs.com/alamZ/p/7682330.html
Copyright © 2011-2022 走看看