方法重载(Overload):

1.在同一个类中

2.方法名相同

3.参数的个数或类型不同

4.与方法的返回类型无关

5.与方法的修饰符无关

方法重写(Override):

方法重写必须是子类继承父类,才能进行对父类的方法进行重写。

1.重写方法与被重写方法必须拥有相同的方法名

2.重写方法与被重写方法必须拥有相同的参数列表

3.重写方法的返回值类型必须与被重写方法的返回值类型相同

4.重写方法不能缩小被重写方法的访问权限

这里注意的是重写方法,必须是子类中能访问到的父类的方法。

方法重载与方法重写的区别:

1.重载是同一个类中的同名方法,要求方法名相同,参数列表不同,与返回值类型无关

2.重写涉及的是子类和父类之间的同名方法,要求方法名相同、参数列表相同、返回值类型相同

方法重载示例:

    //默认初始方法,没有参数
public void work(){} //重载的方法,含有一个int类型的参数
public void work(int x){} //重载的方法,含有一个String类型的参数
public void work(String str){} //重载的方法,含有两个int类型的参数
public void work(int x,int y){} //错误的重载1,这里会出错,因为重载与返回类型无关
public int work(){return 0;} //错误的重载2,这里会出错,因为重载与访问修饰符无关
private int work(){}

测试效果的话,直接使用this关键加.重载的方法会显示出来。

方法重写示例:

/*
* 父类代码
*/
public class Parent { //要被重写的方法
public void work(){
//省略代码块
}
//要被重写的方法
public void run(String p){
//省略代码块
}
public void sleep(String p){
//省略代码块
}
//此方法无法被重写,因为在子类中访问不到
private void eat(){
//省略代码块
}
} /*
* 子类代码
*/
public class Child extends Parent { //重写了父类方法
public void work(){
//省略代码块
}
//重写了父类方法
public void run(String people){
//省略代码块
}
//此处无法构成方法重写,因为与父类中的sleep方法的参数列表不同
public void sleep(){ }
//这里会提示编译错误,因为与父类的方法返回类型不同
public String sleep(String p){
return "nihao";
}
}

Java 方法重载与方法重写的更多相关文章

  1. Java笔记 —— 方法重载和方法重写

    Java笔记 -- 方法重载和方法重写 h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: red ...

  2. JAVA学习(七):方法重载与方法重写、thiskeyword和superkeyword

    方法重载与方法重写.thiskeyword和superkeyword 1.方法重载 重载可以使具有同样名称但不同数目和类型參数的类传递给方法. 注: 一是重载方法的參数列表必须与被重载的方法不同,而且 ...

  3. Java学习总结之方法重载和方法重写

    在学习方法的阶段我学习了方法重载(Overload),而在学习面向对象三大特性之继承的时候我又学习了方法重写(Override).   概念: 方法重载:在同一个类中,允许存在一个以上的同名方法,只要 ...

  4. AJPFX总结方法重载与方法重写的区别

    方法重载在同一个类中,可以出现同名方法,但是这些同名方法的参数列表必须不同,这样定义方法叫做方法重载.方法重载的特点重载的注意事项重载与返回值无关重载与具体的变量标识符无关重载只与方法名与参数相关重载 ...

  5. Java-Runoob-高级教程-实例-方法:15. Java 实例 – 重载(overloading)方法中使用 Varargs

    ylbtech-Java-Runoob-高级教程-实例-方法:15. Java 实例 – 重载(overloading)方法中使用 Varargs 1.返回顶部 1. Java 实例 - 重载(ove ...

  6. PHP面向对象编程——深入理解方法重载与方法覆盖(多态)

    什么是多态? 多态(Polymorphism)按字面的意思就是“多种状态”.在面向对象语言中,接口的多种不同的实现方式即为多态.引用Charlie Calverts对多态的描述——多态性是允许你将父对 ...

  7. PHP面向对象编程之深入理解方法重载与方法覆盖(多态)

    这篇文章主要介绍了PHP面向对象编程之深入理解方法重载与方法覆盖(多态)的相关资料,需要的朋友可以参考下: 什么是多态? 多态(Polymorphism)按字面的意思就是"多种状态" ...

  8. Java的重载以及与重写的区别

    一.什么是方法重载 方法的重载就是在同一个类中,有着若干个名字相同的方法.在具体调用这些方法的时候,通过传递参数的不同来调用这些重载方法. 二.为什么需要方法重载 方法名的定义需要做到见名知意,功能类 ...

  9. 疯狂java学习笔记之面向对象(六) - 构造器重载、方法重载和方法重写

    一.方法重载(Overload): Java允许同一个类中定义多个同名方法,只要形参不一样就可以,如果同一个类中包含了两个或两个以上方法名相同的方法,但形参列表不同,则被成为方法重载(两同一异). 同 ...

随机推荐

  1. 为什么修改Host不生效

    开发验证的好好的功能,提测后经常有测试反应功能有bug.很多原因都是测试切换host没生效造成的,为什么切换host后刷新页面了也没生效呢? 不生效原因: Keep-Alive 服务器在响应头设置了 ...

  2. Web前端学习笔记之jQuery基础

    0x0 jQuery介绍 jQuery是一个轻量级的.兼容多浏览器的JavaScript库. jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方便地进行Aja ...

  3. xxxx interview问题解读与总结

    1. 要使线程从running到waiting状态,我们需要做些什么? 线程的状态及转换. 关联技术:http://www.cnblogs.com/kisf/p/6952524.html 2. spr ...

  4. 自制mysql的rpm包

    MySQL安装一般使用RPM或者源码安装的方式.RPM安装的优点是快速,方便.缺点是不能自定义安装目录.如果需要调整数据文件和日志文件的存放位置,还需要进行一些手动调整.源码安装的优点是可以自定义安装 ...

  5. 20145216史婧瑶《Java程序设计》第10周学习总结

    20145216 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 一.网络概述 网络编程就是两个或多个设备(程序)之间的数据交换. 识别网络上的每个设备:①IP地址②域名 ...

  6. Win7下硬盘安装fedora17

    Win7下硬盘安装fedora17 这几天经过很多次的百度和实验,终于成功的在我的x64机子上装上了fedora17,以此分享给大家,希望能给大家帮助. 一.准备工作: 1.工具,因为我们电脑上大部分 ...

  7. Jquery12 Ajax

    学习要点: 1.Ajax 概述 2.load()方法 3.$.get()和$.post() 4.$.getScript()和$.getJSON() 5.$.ajax()方法 6.表单序列化 Ajax ...

  8. RabbitMQ单机多实例配置

    由于某些因素的限制,有时候你不得不在一台机器上去搭建一个rabbitmq集群,当然这种集群只适合自己玩玩,验证下结论,这个有点类似zookeeper的单机版.真实生成环境还是要配成多机集群的.有关怎么 ...

  9. LeetCode——merge-two-sorted-lists

    Question Merge two sorted linked lists and return it as a new list. The new list should be made by s ...

  10. jQuery loop over JSON字符串 – $.each实例

    先来一段简单的javascript对象的遍历: var json = [ {"id":"1","tagName":"apple&q ...