JAVA SE学习笔记02

在上一次篇里写的是一些基本的知识,现在认我们来看看面向对象的一东西。
一、方法的重载(Overload):方法名相同,参数表不同,不考虑返回值。
重载是相对于在一个类里面而言的,也就说要想重载一个方法,这两个方法的名字必须相同、参数的个数和参数的类型不同,返回值的类型可以不同。要调用哪一个方法是根据参数列表的个数和类型来决定的。
二、方法的重写(Overwrite):方法名相同、参数表相同、参数的类型相同或者更宽,返回值 的类型要相同或者是父类的返回类型的子类(JDK5.0以后加入的)、抛出的异常范围不能比父类的宽。
重写是对于继承而言的。
三、属性的覆盖:也是相对于继承而言的,是子类的属性名和父类的同名;
四、下面说一下this和super关键字
this:
1、this是个隐式的参数,代表当前对象本身。
2、如果某个构造方法的第一个语句具有形如this(...),那么这个构造方法将调用同一类中的其它构造方法。要注意的是在构造方法中this(...)一定要放在方法的第一行。
super:
1、super()表示调用父类里的构造方法。
2、super()也和this一样必须放在方法的第一句。
3、super可以屏蔽子类属性和父类属性重名的属性遮盖问题。
五、说一下有继承关系的子类创建过程
1、递归地构造父类对象
2、分配空间
3、初始化属性
4、调用父类的某一个构造方法
六、多态
1、多态分为两种:编译时多态和运行时多态
编译时多态:从主观概念上讲的(重载)
运行时多态:从客观概念上讲的(它实际上是什么)
2、运行时多在的三个原则
1)、对象类型不变
2)、只能对对象调用编译时类型中定义的方法
3)、在程序运行时,根据对象的运行时类型找覆盖后的方法来调用
3、强制类转化一定没有新对象生成
4、instanceof
用法:引用 instanceof 类名。判断这个引用所指向的对象是否属于这个类
好了就写到这里了,下面还有。

你可能感兴趣的:(java)