JAVA中的类,抽象类及接口

来源:互联网 发布:信贷软件 编辑:程序博客网 时间:2024/05/01 16:36

          吐舌头在这里简单介绍一下类,抽象类及接口,并归纳总结抽象类及接口的几点区别,欢迎大家指点批评啊!

        类(class):描述了描述同一类事物的共同属性和方法,并通过构造方法创建对象调用方法和属性。

                            

        抽象类:在定义的时候使用 abstract 关键字,除包含普通类所包含的所有特性外,还包含一个很特殊的方法,叫抽象方法。有抽象方法的一定是抽象类,但是抽象类中不一定有抽象方法。

        抽象方法: 当类中的方法在声明的时候加上 abstract 关键字的时候,就变为抽象方法,在实现抽象类时,必须实现该类中的每一个抽象方法。声明抽象方法的语法与声明一般方法不同. 抽象方法的没有像一般方法那样包含在大括号{}中的主体部份。如:               


    不能实例化抽象类.可以继承它们,然后实例化子类.如果子类对象转型为父类,此时调用的方法只能是父类中有的方法,如果此方法被子类实现(重写),则调用的是子类中的方法。在此过程中,子类本身的定义及方法不受影响。

 


    抽象类不允许多重继承,那么如果要实现多个类的功能,则可以通过实现多个接口。

    接口的定义是interface,接口与Java的类文件一样,接口文件的文件名必须与接口名相同(首字母需要大写)。接口中定义方法的规则,只要定义方法返回类型,方法名,参数(一定要注明参数类型)。方法前无论是否写了public限定符,接口中的方法都是public型的。接口中还可以定义属性,但接口中的属性是常量值,即不可再改变的,接口的实现(继承)使用implements关键字,这是与类的extends不同的


 在类中实现接口时,方法的名字、返回值类型、参数的个数及类型必须与接口中的完全一致,并且必须重写接口中的所有方法(重写的方法体可以为空,在主函数中不一定调用,这和抽象类相同)。

 

    对抽象类与接口进行简单比较,总结如下:

    1、一个类只能继承一个抽象类,但是却可以实现多个接口。

    2、实现接口的一定要重写接口里定义的所有方法,而实现抽象类只是重写里面的抽象方法。并且抽象类中可以有非抽象方法,而接口中不能有实现方法。

    3、 抽象类中的变量值可以在子类中重新定义,也可以重新赋值。但是接口中定义的变量默认是public static final 型,定义时需赋初值,在实现类中不能改变其值(相当于常量)。

    4、抽象类可以有私有方法或私有变量,而接口中的方法默认都是 public的,没有私有的方法或变量。


0 0
原创粉丝点击