个人学习笔记,不懂可以留言,因为这是写给自己看到
类
- 更改器方法:
修改调用对象中的数据域的方法 - 访问器方法:
不修改调用对象中的数据域的方法,一般是访问对象的数据域。 - 显示参数:
出现在方法参数中的参数 - 隐式参数:
调用方法的参数,一般为对象。注意类不属于隐式变量:比如:Math.pow(x,a)
中的Math
就不是隐式变量。 - 构造实例对象的方法:
通过对象的构造器进行构造
通过静态工厂方法进行构造 - 静态工厂方法:
通过类名进行调用的静态方法。 - java设计语言中的方法都是采用按值调用的方法。之所以传入一个对象作为参数时,对象的值会发生改变是因为:复制的参数对象和原参数对象引用了同一个对象。
- 方法重载
有相同的方法名,但方法的参数个数或参数类型不一致的方法。返回类型不同不算。 - 初始化块
出现在类中的给数据域赋值的代码块。只有构造类对象,初始化块就会被执行。并且先运行初始化块,再运行构造器的主体部分。 - 子类中方法并不能直接使用父类中的私有数据域;
- 多态:
一个声明为父类的变量可以引用父类的对象,也可以引用其所有子类的对象。但是这个变量不能调用子类中的方法。 - 重载解析:
从一组重载方法中选择出一个适用的方法。 - 动态绑定:
从所有方法中(本类中的所有同名构造方法,父类中的所有同名方法)找出最适合的方法 - 子类覆写方法,其参数类型和返回值类型必须小于等于父类中对应方法的类型
- 子类方法的可见性必须大于等于父类方法的可见性。可见性指的是:public、protected、private等修饰符。
- 向上转型:
一个子类对象转换为父类对象。自动发生,不需要使用强转; - 向下转型:
一个父类对象转化为一个子类对象。不自发生,需要使用强转。注意可能会发生异常。作用:使用子类中的方法和数据域。
接口知识点总结:
- 接口中不能包含实例域,可以包含常量、静态方法;
- 默认方法:
被default修饰的方法。其主要作用是给方法提供默认的实现,这样在接口被实现时,就不会担心方法没有被实现。默认方法可以调用接口中的其他任何方法。 - 接口冲突
若一个超接口提供一个默认方法,另一个接口提供了一个同名而且参数类型相同的方法,那么实现这两个接口的类必须覆盖这个方法。前提是两个接口中至少有一个实现了方法。
异常
- 非受查异常
派生于Error类或RuntimeException类的所有异常 - 受查异常
派生于IOException类的所有异常 - RuntimeException异常的情况:
错误的类型转换
数组访问越界
访问null指针 - 应该抛出异常的情况
调用一个抛出受查异常的方法
程序运行过程中出现错误,并且利用throw语句抛出一个受查异常
程序出现错误
Java虚拟机和运行时库出现的内部错误 - 子类中覆盖的方法,其声明的受查异常不能比超类方法中声明的异常更通用。即范围应该缩小而不是扩大;
- 如果在子类中覆盖了一个超类的方法,并且超类中的这个方法没有抛出异常。那么子类的这个方法就必须捕获异常,而不能抛出。