Java的方法重写

一:什么是方法的重写;

  如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法。

语法规则

  返回值类型、方法名、参数类型及个数都要与父类继承的方法相同,才叫方法的重写

方法重写是指:子类中定义一个方法,并且这个方法的名字、返回值类型、参数个数和类型与从父类继承的方法完全相同。

方法的重写必须满足以下要求(从方法的五要素来分析):
(1)要有继承;
(2)方法名,参数列表要相同;
(3)访问修饰符不能比父类窄;
也就是说,父类的public方法在重写时,访问修饰符必须是public,因为public的范围最大,否则就不构成方法的重写,例如:对于父类protected的方法,在重写时可以用protected或public来修饰。
(4)抛出的异常不能比父类更宽泛;
(5)返回类型要比父类的小或相同。
只有满足以上五个要求才符合方法的重写

二:举一个例子;

Animal类:

package com.test;

public class Animal {
public int age;
public void eat(){
System.out.println("年龄"+age+"动物是可以吃东西的");
//这里的父类只是描述动物可以吃东西
} }

Dog类:

package com.test;

public class Dog extends Animal{

}

如果我们对父类的eat方法不满意,就可以重写eat方法

Dog类:

package com.test;

public class Dog extends Animal{
public void eat(){
System.out.println("年龄"+age+"狗是可以吃东西的");
//这里的子类描述了狗可以吃东西
} }

主函数InitailClass类:

package com.test;

public class InitailClass {

    public static void main(String[] args) {

        Dog d = new Dog();
d.age = 10;
d.eat(); } }

运行结果为:

三:方法重写和方法重载的区别;

  方法重载:就是在同一个类中,方法的名字相同,但参数个数、参数的类型或返回值类型不同!
  方法重写:它是指子类和父类的关系,子类重写了父类的方法,但方法名、参数类型、参数个数必须相同!

最新文章

  1. 基于sticky组件,实现带sticky效果的tab导航和滚动导航
  2. iOS开发——UI进阶篇(十一)应用沙盒,归档,解档,偏好设置,plist存储,NSData,自定义对象归档解档
  3. hdu5255 魔法因子
  4. oracle 导出导入常见问题
  5. 'NSUnknownKeyException' this class is not key value coding-compliant for the key XXX
  6. mysql简单介绍
  7. ViewPager使用笔记
  8. Apache proxy中转设置
  9. (转)eclipse导入Gradle项目
  10. Apache CXF入门
  11. 协同过滤的R语言实现及改进
  12. Cmder--cmd的替代工具
  13. IDEA: Call Hierarchy
  14. Django-website 程序案例系列-7 创建多对多关系表
  15. Android超链接
  16. Ubuntu16.04 Xmind安装
  17. java Concurrent包学习笔记(四):BlockingQueue
  18. Codevs1332_上白泽慧音_KEY
  19. 更新xcode后插件失效问题——不针对特定版本的通用解决方法
  20. Spring boot临时文件目录报错

热门文章

  1. 实验 MPLS LDP配置
  2. redis知识树
  3. July 03rd 2017 Week 27th Monday
  4. ZT 创建类模式总结篇
  5. Sqlserver2008+搜索型注入技术
  6. ROC曲线手画
  7. AngularJs学习笔记--Understanding the Controller Component
  8. 规约模式的ef拼接
  9. Django 模型中DateField字段
  10. 显卡 GPU 关系