面向对象
面向对象的三个特点:
封装:把数据封装起来,不让外面随便访问,如身份证号get/setter
多态:同一件事有多种做法
继承:
static
- 加在成员变量上———>静态变量/类变量——>类名直接调用
- 加在方法上—————>静态方法—————>类名直接调用
- 在static方法中不能直接使用实例变量
final
- 加在成员变量上———>常量——>只能赋值一次
- 加在方法上—————>不能被子类覆盖
- 加在类上————不能被继承
组合:has a
继承:is a 继承尽量不要超过3种
继承
extends关键字,在子类中添加属性和方法
-
子类构造函数和super关键词
-
多态
-
凡是可以使用父类的地方都可以使用子类
-
使用instanceof关键字判定对象的类型以及类型转换
-
final在继承关系中的作用
-
继承和组合的PK
-
抽象类和抽象方法
-
接口interface
interface是和class平级的概念
public class Name {}
public interface iName{}
interface定义了一套标准(方法),这些方法通常都是没有实现的,类可以来实现这些方法来支持(implements)这个标准
-
接口的声明和实现(接口可以继承接口)
接口的定义是用interface
一个类声明implements一个接口,要么实现接口所有的抽象方法,要么把自己声明为abstract类 -
在方法参数中使用接口
-
在类属性中使用接口
-
接口可以有静态属性和静态方法
接口可以有属性,但属性默认是public static和final
-
接口的default方法
接口可以有实例方法,但必须添加default关键词
实现接口的类可以自己重写default的方法,也可以不重写而使用接口自己的实现
16.接口可以继承extends接口
接口的继承和类的继承基本是一样的。可以接受父接口的地方,都可以接口子接口的对象
面向接口编程:
设计程序的时候,多想想有哪些接口。先想好接口,再去想实现。
参数和属性尽量使用接口,而不是使用具体的实现。
补充
super——>父类
this——>当前实例