学习毕向东java第八天

学习毕向东java第八天


p90
讲了修饰符 :final 可以修饰 类 函数 变量
其中最大的特点是:不能被继承( 即按照字面意思,final 最后的
final 修饰类的时候:该类不能被继承
final 修饰函数的时候,该函数不能被重写,也就是覆盖
final 修饰变量的时候,该变量只能被初始化一次,之后再也不能改变。(注意一点的是,为了方便阅读性,一般把final的变量都变成大写,而多个大写单词之间使用下划线_来连接)

p91
抽象类和抽象方法
抽象类的特点:
**
1,抽象方法一定在抽象类中(意思就是,抽象类中可以存在非抽象方法)
2,抽象类和抽象方法都需要用abstract 来修饰
3,抽象类不可以用 new 创建对象,因为那些抽象方法没有意义
4,要调用抽象类的方法,必须继承一个子类,且子类需要重写(覆盖)抽象类中所有的抽象方法,
如果没有覆盖所有的,那么这个子类依然是一个需要被abstract修饰的抽象类。**

会去困惑,为什么需要抽象类:主要是因为确实会存在一些父类中的方法,子类调用的时候都不一样,所以就没必要在父类之中再写这个方法,直接 abstract void study()就行了。
抽象类的意义

p95
接口:初期可以理解为一种特殊的抽象类,且该抽象类中的方法全是抽象方法。
这个时候 用来定义类的 class 就要变成 interface
接口类的特点;
1,接口中存在常量和抽象方法
2,
常量都是 public static final (且常量都是大写 多个单词之间用下_来联系)
方法都是 public abstract

但是呢 在书写的时候都是可以只写 int x这样的(只需要定义的时候是interface),只是这样阅读性不高,建议还是加上去

之前提到的,类不可以多继承,但是类可以多接口 (implement)算是对多继承的一种转换
但是在接口与接口之间,Java是存在多继承的,因为不会存在相同方法名且在不同类中的函数:https://www.cnblogs.com/deepbreath/p/5015642.html

猜你喜欢

转载自blog.csdn.net/qq_41115379/article/details/87891012