Java中方法的重写
2016-03-17 14:51
337 查看
一、方法的重写:
1.子类中出现了和父类中一模一样的方法声明,也被称为方法覆盖,方法重写(复写);
2.重写的格式:
1).返回值类型
方法名 ,形参列表:必须完全一致;
A."返回值类型"和"方法名"相同,"参数列表"不同:编译通过。类似于"重载",子类定义了一个自己的方法
B."方法名"和"参数列表"相同,"返回值类型"不同:编译错误。如果"方法名"和"形参列表"相同,要求"返回值类型"必须相同;
2).访问修饰符:
要求:
子类的方法所具有的访问修饰符必须跟父类的方法的访问修饰符相同,或更宽的访问修饰符;
public,protected,(默认),private(从宽到窄)
3、当子类需要父类的功能,而功能主体子类有自己特有内容时,
可以重写父类中的方法,
这样,即沿袭了父类的功能,又定义了子类特有的内容。
4、方法重写的注意事项
1.父类中私有方法不能被重写。
2.子类重写父类方法时,访问权限不能更低。必须是具有:相同,或更宽的访问权限;
3.父类静态方法,子类也必须通过静态方法进行重写。
4.父类被final修饰的方法不能被重写
5、方法重写和方法重载的区别
1.方法重写和方法重载的区别?方法重载能改变返回值类型吗?
1.Overload:重载
2.Override:重写
1.重载:在一个类中,可以定义多个同名的方法,但形参列表不完全相同;跟返回值无关;
2.重写:在子类中,可以定义跟父类一模一样的方法(返回值类型、方法名、形参列表完全相同),这时
子类的方法会覆盖父类中同名的方法。
1.子类中出现了和父类中一模一样的方法声明,也被称为方法覆盖,方法重写(复写);
2.重写的格式:
1).返回值类型
方法名 ,形参列表:必须完全一致;
A."返回值类型"和"方法名"相同,"参数列表"不同:编译通过。类似于"重载",子类定义了一个自己的方法
B."方法名"和"参数列表"相同,"返回值类型"不同:编译错误。如果"方法名"和"形参列表"相同,要求"返回值类型"必须相同;
2).访问修饰符:
要求:
子类的方法所具有的访问修饰符必须跟父类的方法的访问修饰符相同,或更宽的访问修饰符;
public,protected,(默认),private(从宽到窄)
3、当子类需要父类的功能,而功能主体子类有自己特有内容时,
可以重写父类中的方法,
这样,即沿袭了父类的功能,又定义了子类特有的内容。
4、方法重写的注意事项
1.父类中私有方法不能被重写。
2.子类重写父类方法时,访问权限不能更低。必须是具有:相同,或更宽的访问权限;
3.父类静态方法,子类也必须通过静态方法进行重写。
4.父类被final修饰的方法不能被重写
5、方法重写和方法重载的区别
1.方法重写和方法重载的区别?方法重载能改变返回值类型吗?
1.Overload:重载
2.Override:重写
1.重载:在一个类中,可以定义多个同名的方法,但形参列表不完全相同;跟返回值无关;
2.重写:在子类中,可以定义跟父类一模一样的方法(返回值类型、方法名、形参列表完全相同),这时
子类的方法会覆盖父类中同名的方法。
相关文章推荐
- Java中多种语法的处理顺序
- Java中的关键字
- Java基础03 构造器与方法重载
- 简单理解 Struts2的PrepareAndExecuteFilter
- 浅析Java中的final关键字
- java: final
- Java实现的比较两个不同的文本,在文本面板中显示不同文本的内容(完整源码)
- [疯狂Java]线程同步:同步监视器、同步方法、同步锁、死锁
- 深入理解java异常处理机制
- Java中的继承
- eclipse连接hadoop
- Java中的代码块
- Java基础02 方法与数据成员
- struts2接受参数的几种形式
- 浅谈java泛型
- Java实现的计算器(完整源码)
- eclipse开发java代码代码自动提示触发设置。
- Web 研发模式演变
- java自带命令
- 使用jax-ws和spring创建和web容器共端口的webservice服务