Rumah  >  Artikel  >  Java  >  重拾java基础(九):抽象类、接口总结

重拾java基础(九):抽象类、接口总结

黄舟
黄舟asal
2017-01-16 09:41:191083semak imbas

重拾java基础(九):抽象类、接口总结

一、final关键字

  1. 可以修饰类、属性、方法

   2. 修饰类:最终的类 final class  Pet{}

   3. 修饰属性:属性的值不能修改    final修饰的属性必须人工赋值   PI

   4. 修饰方法:该方法不能被重写5. final类中的所有方法都默认为final

二、抽象类

  1. Pet  Dog  Cat  没有现实意

   2. 父类充当的只是一个代码模版

   3. abstract,抽象,关键字

   4. 修饰类  abstract class Pet{  //抽象类  }

   5.抽象类不能实例化   实例==对象  创建对象的过程就叫实例化

   6.一个类变成了抽象类后,对类中的成员有影响?  a.属性   无变化  b.构造方法    无变化  c.get/set方法   无变化  d.普通功能方法   无变化7. 建议以后凡是父类都改为抽象类,抽象父类

三、抽象方法

  1. 可以修饰方法,父类中的功能方法一般都可以改为抽象方法

   2. 特点    a.不能有方法体    b.抽象方法必须出现在抽象类中    c.抽象方法必须被重写

  3. 抽象类中既可以有普通方法,也可以有抽象方法

4. 建议把父类中的功能方法改为抽象方法

5.抽象关键字abstract不可以和哪些关键字共存?    

final:如果方法被抽象,就需要被重写,而final是不可以被重写,所以冲突。    

private:如果方法被私有了,子类无法继承,怎么重写呢。    

static : 不需要对象,通过类名就可以调用抽象方法,而调用抽象方法没有意义

四、初步理解接口

  1. 在现实生活中,啥是接口?水管接口   插座  USB接口

2. 作用类似,起了一个名字"接口"

3. 作用   a. 保证可扩展性和可维护性,接口是多态的一种表现形式  (USB接口)   b. 实战应用:统一标准和规范    (USB接口)

4. 在Java中,接口到底是啥?接口本质是一个更特殊的抽象类

5. 定义一个接口:interface = abstract class

6. 继承接口的类不叫子类,叫实现类,extends 换成 implements

7. 接口跟抽象类相比,更特殊的地方:  

 a. 接口不能实例化,不能有构造方法   

b. 接口中的属性全部都是public static final修饰的,不写会自动添加  

 c. 接口中的方法必须全部都是抽象方法,会自动添加public abstract关键字   

d. 一个类可以实现多个接口   

e. 接口之间就可以多继承   

f. 接口没有继承Object类

五、接口是多态的一种表现形式

  1. 作用:保证程序具有良好的可扩展性和可维护性

2. 接口的向上转型写法:  接口名  对象名=new 实现类();

3. 应用场景:   

a. 如果被动方需要使用属性,那么就只能用继承-多态   

b. 如果被动方不需要使用属性,或者重点关注的是功能(方法),那么应该使用接口   案例:更换不同的加密算法(A公司需要加密数据,刚开始用的B公司提供的算法,             后来发现该算法容易被破解,然后换成C公司的加密算法... ...)

六、关系-小结

  1. 类和类          继承   单一继承、多层继承

 2. 接口和接口      继承   多继承

3. 类和接口        实现   多实现

4. class A  extends B  implements C,D

七、接口的实际应用

接口就是一个标准或规范,用来统一各方的方法命名


以上就是重拾java基础(九):抽象类、接口总结的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn