◈类和对象的概念:
类:是具有同样特征的同一类事物的抽象。
对象:类事物的一个特殊的实例
◈类(对象)之间的关系
继承,关联,聚合(聚集、组合),多态,实现
◈面向对象设计思想
上来应该考虑:
这个问题域里面有哪些对象(或者说又哪些类)
这个类里面有哪些属性或方法,类和类之间什么关系
◈class
◈new
引用概念:一小块内存指向一大块内存
构造方法概念:当new(构造)一个新对象的时候调用的方法,和类同名,没有返回值,连void也不能写。
◈ 方法重载:方法名字一样,但参数之间互相有区别(参数类型,个数不一样)
构造方法重载:
◈ this
指当前对象,
◈ static
Static的成员变量是属于所有类的,static 的成员变量一般分配在date区域里面,这个类的所有对象属于整个类,不需要new一个对象就能去访问它。
◈ package & import
Package: 为了解决类重名的问题 (有个约定熟成的方法把域名倒过来起名)
Import:
◈ private default protected public
◈ extends
继承父类的所有成员变量,所有的方法,包括private,但private成员变量只是拥有所有权,没有使用权,只能看不能用。
◈ overwrite (方法的重写)
◈ final
Final的变量不能够改变它的值
Final的方法不能被重写
Final的class不能被继承
◈ Object
其中两种方法:
1 toString:
2 equals:
◈ upcasting
父类的引用指向子类的对象,或者是接口的引用指向实现了接口类的对象
Downcasting
◈ polymophysm(多态) / dynamic binding (动态绑定) / late bingding (迟绑定)
多态存在的三个必要条件:
1 要有继承
2 要有重写
3 父类引用指向子类对象
◈ abstract class (抽象类)
只有方法定义没有实现
◈ interface接口
接口和接口之间可以相互继承
类和接口只能实现 implements
一个类可以实现多个接口
多个类可以实现一个接口
内存里面只可以看见其中的一部分方法