面向对象

面向对象、面向过程

面向过程:解决一个问题,将问题一步步拆解开,每一步通过一个函数来实现,依次调用。

面向对象:解决一个问题,将问题一步步拆解开,每一步进行相应的抽象,得到对应的对象,通过对象进行组合调用。

值传递、引用传递

值传递:在调用函数时将实际参数复制一份,传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。

引用传递:在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。

Java中的参数传递只有值传递。

封装、继承、多态

继承:子类对父类的继承。组合关系与继承关系:组合是通过现有的类进行拼装组合成新的更复杂的功能。即has-a关系与is-a关系。

多态:同一个方法名在不同类中可以有不同的功能。比如:父类Animal中有一个call方法,子类有两个:Cat类与Dog类。Cat类的call方法是“喵喵喵”,Dog类的call方法是“汪汪汪”。

重载、重写

重载是一个编译器概念、即在编译时期根据参数变量的类型判断应用调用哪个方法

重写是一个运行期概念、即在运行时期根据引用对象所指向的实际对象的类型来调用方法。

重载不是多态,重写是多态。

重写的条件:方法名、参数列表与被重写函数一模一样,访问级别、抛出异常一定不能比被重写方法强,不能重写标示为final的方法。

重载的条件:方法必须修改参数列表,可以修改方法返回类型,可以修改访问修饰符,可以定义更广的检查异常,可在同一个类或者子类中进行重载。

构造函数与默认构造函数

默认构造函数:无参数。

类变量、成员变量、局部变量 分别在JVM中的方法区、堆内存、栈内存

static打头的是类变量。

方法作用域:public\protected\private\default

 

posted @ 2019-07-01 15:12  十月要努力丫  阅读(134)  评论(0编辑  收藏  举报