局部变量与成员变量的区别&&重载,覆盖的要求
局部变量和成员变量的区别:
成员变量 局部变量
定义位置 定义在类以内方法以外 定义在类中
作用范围 至少在本类中有效 从定义为位置开始到定义的 代码块结束
默认值 存在默认值:同数组 没有默认值
命名冲突 可以和局部变量重名, 在重合范围内不允许重名
重名是局部变量优先使用
方法重载的概念及要求?
概念:在一个类中定义多个相同名字的方法
要求:
- 方法名相同
- 参数列表不同(数据类型,个数,顺序)
- 方法的访问修饰符,返回值类型,抛出的异常没有要求
方法覆盖的要求(前提两个类是父子类关系):
要求(在JDK5.0之后,子类的返回值类型可以是父类返回值类型的子类)
- 方法名,参数列表,返回值类型相同
- 子类的访问修饰符比父类的访问修饰符相同或更宽
- 父类要比子类抛出更多更宽泛的异常