面向对象基础——方法重载
小结
- 方法重载是指多个方法的方法名相同,但各自的参数不同;
- 重载方法应该完成类似的功能,参考String的indexOf();
- 重载方法返回值类型应该相同。
在一个类中,我们可以定义多个方法。如果有一系列方法,它们的功能都是类似的,只有参数有所不同,那么,可以把这一组方法名做成同名方法。
例如,在Hello类中,定义多个hello()方法:
class Hello {public void hello() {System.out.println("Hello, world!");}public void hello(String name) {System.out.println("Hello, " + name + "!");}public void hello(String name, int age) {if (age < 18) {System.out.println("Hi, " + name + "!");} else {System.out.println("Hello, " + name + "!");}}
}
这种方法名相同,但各自的参数不同,称为方法重载(Overload)。
注意:方法重载的返回值类型通常都是相同的。
方法重载的目的是,功能类似的方法使用同一名字,更容易记住,因此,调用起来更简单。
举个例子,String类提供了多个重载方法indexOf()
,可以查找子串:
- int indexOf(int ch):根据字符的Unicode码查找;
- int indexOf(String str):根据字符串查找;
- int indexOf(int ch, int fromIndex):根据字符查找,但指定起始位置;
- int indexOf(String str, int fromIndex)根据字符串查找,但指定起始位置。
试一试:
// String.indexOf()
public class Main {public static void main(String[] args) {String s = "Test string";int n1 = s.indexOf('t');int n2 = s.indexOf("st");int n3 = s.indexOf("st", 4);System.out.println(n1);System.out.println(n2);System.out.println(n3);}
}
面向对象基础——方法重载相关推荐
- php版本哪个没有面向对象,php面向对象的方法重载两种版本比较
多个函数用同一个名字,但参数表,即参数的个数或(和)数据类型可以不同,调用的时候,虽然方法名字相同,但根据参数表可以自动调用对应的函数. PHP4 中仅仅实现了面向对象的部分的.简单的功能,而 PHP ...
- java基础-方法重载
**方法重载:**同一个类方法名相同,参数列表个数或参数不同即可 口诀: "两同一不同":同一个类,相同方法名 参数列表不同:参数个数不同,参数类型不同,参数顺序不同 **注意:* ...
- Java基础方法重载的要求
1.方法重载又被称为:overload 2.什么时候考虑使用方法重载? 功能相似的时候,尽可能然方法名相同 [但是:功能不同/不相似的时候,尽可能让方法名不同] 3.什么条件满足之后构成了方法重载? ...
- java基础—方法重载(overload)
一.方法的重载 方法名一样,但参数不一样,这就是重载(overload). 所谓的参数不一样,主要有两点:第一是参数的个数不一样,第二是参数的类型不一样.只要这两方面有其中的一方面不一样就可以构成方法 ...
- 面向对象基础——方法
本文参考链接 目录 小结 private方法 this变量 可变参数 参数绑定 小结 方法可以让外部代码安全地访问实例字段: 方法是一组执行语句,并且可以执行任意逻辑: 方法内部遇到return时返回 ...
- 面向对象基础+构造方法+重载练习
一.定义一个计算器:它的功能有加,减,乘,除,累加,阶乘,幂,平方 package com.moju;public class Computer {//定义一个计算器:它的功能有// 加,减,乘,除, ...
- JAVA基础-U7 面向对象编程(基础部分)-方法重载
方法重载(Overload) 基本介绍 java中允许同一个类中,多个同名方法的存在,但要求形参列表不一致 eg. System.out.println(); //out是PrintStream类型 ...
- JavaSE——面向对象基础(思想、类与对象、构造方法、重载、匿名对象)
第1节 面向对象基础 一.面向对象思想 1.1 概述 面向对象(Object Oriented)是软件开发方法.面向对象的概念和应用已超越了程序设计和软件开发,是一种对现实世界理解和抽象的方法,是计算 ...
- Java面向对象基础学习笔记(构造、重载、继承、多态、抽象类、接口、模块)
Java面向对象编程包含哪些内容? 怎么理解面向对象编程? 现实生活中,我们定义了"人"的抽象概念,这就是类class,生活中的每一个具体的人就是实例instance. class ...
最新文章
- 独家 | 机器学习中的四种分类任务(附代码)
- 1、虚拟机内存管理、运行时数据区、线程共享区、Java堆、新生代、老年代、Eden区域分配、方法区、线程独占区、虚拟机栈
- wpf的tabcontrol获取当前选中的名字_技巧:ANSA中如何快速批量修改PID名字
- python中history()_keras中的History对象用法
- 【Eclipse 插件】Implementors
- java 加上天数_java日期时间加上天数
- 程序员必备英语单词册
- 1971年中国的预警机就上天了
- 全年营业额怎么计算_年度利润总额怎么算?
- 台式计算机连接投影仪无信号,投影仪连接电脑没反应 电脑连接投影仪无信号解决办法...
- iis8.0php套件包,iis 8.0 express-IIS8.0安装包下载 官方免费版--pc6下载站
- 分析亚马逊竞争对手Listing的技巧与操作步骤
- [转] ThreeJS中,那些会让阴影失效的操作
- 微信公众平台配置——URL、Token和JS安全域名
- Zotero文献同步
- 江苏小学计算机面试题目,2019下半年江苏省小学信息技术教师资格证面试试题(精选)(三)...
- HTML3/CSS基础
- 创建Predix UAA(User Account and Authentication)
- ThinkPad T61 安装XP系统后总是提示“PC内存控制器”的问题
- 傅老师课堂:Oracle高级应用之解锁表
热门文章
- 二维数组(图像)转变成3通道图
- 投简历一直没有回应,原因竟然是...
- RK3288下添加PCF8563 RTC支持
- ASE:空间分析、空间统计及空间计量经典论文系列推文概述
- java转移oraclr数据_Oracle转义 - JAVA_NINA的个人空间 - OSCHINA - 中文开源技术交流社区...
- CSS中background-size的cover属性
- 20155314 2016-2017-2 《Java程序设计》第9周学习总结
- 互联网公司为什么普遍996而不是666
- 2021年山东大学python与大数据分析期末试题回忆
- 通过HWND取得pid以及HANDLE