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

    抽象类

    抽象类和普通的类没多少不同

    1、含有抽象方法的类称为抽象类,用关键字abstract标记。

    2、抽象方法是不可以被实现的,可以在子类中被重写实现。

    3、抽象类中依然可以和普通类一样有成员变量和非抽象的成员函数,可以实现接口。

    接口

    接口就像是一个为其他对象提供便利的工具,它里面也可以有成员变量和方法,但是成员变量必须是static final的,而 成员方法默认的也是public abstract的。

    抽象类和接口之间的区别:

    (1)接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的。

    (2)abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface,实现多重继承。接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用。

    (3)在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是 static final的,不过在 interface中一般不定义数据成员),所有的成员方法默认都是 public abstract 类型的。

    (4)abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"is-a"关系,interface表示的是"has-a"关系。

    (5)实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。抽象类中可以有非抽象方法。接口中则不能有实现方法。

    (6)接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以在子类中重新赋值。

  • 相关阅读:
    jenkins--部署项目
    jenkins--创建项目
    jenkins--安全配置
    jenkins--工具配置
    jenkins--系统配置
    11.17
    11.14
    11.13
    dfs
    10.31
  • 原文地址:https://www.cnblogs.com/jing58/p/6000798.html
Copyright © 2011-2022 走看看