Java抽象类,接口

来源:互联网 发布:js中push 编辑:程序博客网 时间:2024/09/21 06:35

     抽象类   只能继承  extends

1.抽象类:两个有相同声明方法的的类,但是方法体不同可以把方法声明单独提取出来,变成抽象方法。

   如果一个类里面有抽象方法,那么这歌类一定是抽象类。

   如果一个类继承自抽象类,要么重写父类里面所有的抽象方法,要么把子类也变成抽象类

   抽象类不能被实例化。虽然不能被实例化,但是有构造方法,用于子类实例化用,必须用abstract修饰,抽象类里面可以有非抽象方法,也可以有抽象方法。(也可以全是抽象方法,但那是接口了)

    抽象类的特殊性在于,在抽象类中包含只做声明而不去实现的方法,抽象类不能被实例化(也就是不能使用new 关键字来创建对象)。

   接口

1.接口:特殊的抽象类(里面全是抽象方法)==》重新定义成接口了

    关键字  inerface    里边的变量则全是常量  稍显不同

2.特点:不能被实例化        只能实现implements

             方法重写(必须重写所有方法)

             只能有抽象方法

      Java继承只有单继承,但是可以有多实现。用,间隔

     还可以在继承一个类的同时,实现多个接口。讲究先继承后实现

成员特点:

      成员变量:有默认修饰符。public static final

      成员方法:有默认修饰符。public abstract

 3.定义接口可以通过interface  关键字,接口的定义与类的定义类似,也是分为接口的声明和接口体两部分,其中,接口体由常量定义和方法定义俩部分组成。

//广泛定义

       Java接口是一系列方法的声明,是一些方法特征的集合。一个接口只有方法的特征,没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

               接口实现和类继承的规则不同,为了数据的安全,继承时一个类只有一个直接父类,也就是单继承,但是一个类可以实现多个接口,接口弥补了类的不能多继承缺点,继承和接口的双重设计既保持了类的数据安全,也变相实现了多继承。

       Java接口的方法只能是抽象的和公开的。Java接口不能有构造器。

       接口把方法的特征和方法的实现分割开来,这种分割体现在接口常常代表一个角色,他包装与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的演员。一个角色由不同的演员来演,而不同的演员之间除了扮演一个共同的角色之外,并不要求其他的共同之处。

原创粉丝点击