导航:首页 > 研究方法 > 简述什么叫方法重载

简述什么叫方法重载

发布时间:2022-08-07 14:19:03

A. 简述什么是方法的重载,及什么是方法的覆盖。二者的区别是什么

方法重载就是方法的参数不同
方法覆盖就是方法的声明和参数都一致
例如
class A
{
public void a()
{
}
}
class B
{
int i;
public void a(int i) //对类A的a()方法的重载
{
this.i=i;
}
public void a() //对类A的a()方法的覆盖
{
System.out.println("a()");
}
}

B. 什么是重载方法,什么是覆盖方法,主要区别

一、重载方法:方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。调用重载方法时,Java编译器能通过检查调用的方法的参数类型和个数选择一个恰当的方法。

方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数或参数的顺序不同的方法。Java的方法重载,就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同。

调用方法时通过传递给它们的不同个数和类型的参数,以及传入参数的顺序来决定具体使用哪个方法

二、覆盖方法:在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想做一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。

两者的区别:

1、子类与父类的关系不同:覆盖方法中的子类与父类之间是垂直关系;在重载方法中因为两个方法在同一个类中,所以是不同方法之间的水平关系。

2、映射关系不同:覆盖只能由一个方法,或只能由一对方法产生关系;在重载方法时,多个方法之间发生变化。

3、对于参数列表的需求不同:覆盖要求参数列表相同;重载要求参数列表不同。

(2)简述什么叫方法重载扩展阅读:

java的特点:

1、高性能

Java是一种先编译后解释的语言,所以它不如全编译性语言快。但是有些情况下性能是很要紧的,为了支持这些情况,Java设计者制作了“及时”编译程序,它能在运行时把Java字节码翻译成特定CPU的机器代码,也就是实现全编译了。

Java字节码格式设计时考虑到这些“及时”编译程序的需要,所以生成机器代码的过程相当简单,它能产生相当好的代码。

2、多线索性

Java是多线索语言,它提供支持多线索的执行,能处理不同任务,使具有线索的程序设计很容易。Java的lang包提供一个Thread类,它支持开始线索、运行线索、停止线索和检查线索状态的方法。

Java的线索支持也包括一组同步原语。这些原语是基于监督程序和条件变量风范,由C.A.R.Haore开发的广泛使用的同步化方案。用关键词synchronized,程序员可以说明某些方法在一个类中不能并发地运行。这些方法在监督程序控制之下,确保变量维持在一个一致的状态。

3、动态性

Java语言设计成适应于变化的环境,它是一个动态的语言。例如,Java中的类是根据需要载入的,甚至有些是通过网络获取的。

参考资料来源:

网络-方法重载

网络-方法覆盖

C. 什么是方法重载构造方法可以重载吗

可以啊!构造方法重载,在一个构造方法中调用另一个构造方法是用this

D. 什么是方法重载构造方法可以重载吗

重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。
构造方法可以重载。

E. java中方法的重载是什么意思

覆盖是override方法重写 重载是overload
按照教科书上的定义,重载就是具有相同函数名,返回类型可以不同,参数个数、顺序、类型不同的函数。我的理解是重载是发生在两个或者是更多的函数具有相同的名字的情况下。
重写就是覆盖父类的方法,和父类有相同返回类型,参数,甚至是抛出的异常,重写方法不能为private,运用中最典型的就是对接口方法的覆盖。方法的重写Overriding和重载Overloading是Java多态性的不同表现.
重写Overriding是父类和子类之间多态性的一种表现;如果在子类中定义某方法和其父类有相同的名称和参数,我们说该方法被重写 (Overriding).子类的对象使用这个方法时,将调用子类中的定义,对他而言,父类中的定义如同被"屏蔽"了.
重载Overloading是个类中多态性的一种表现;如果在一个类中定义了多个同名的方法,他们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading).重载的方法是能改动返回值的类型.

现实例子:你对比上面看,比如一老爹是木工。儿子继承老爹也是木工。
老爹有个做柜子的独特技术(方法),只需要用到工具锤子和木头(参数),
儿子根据老爹这个做柜子的技术延伸出很多种技术,他懒得再起名就也对外宣称叫做柜子独特技术。
1个继承自老爹,相同的方法名,相同的工具,但有自己的想法,工序有改动。儿子做木工活用到这个技术方法的话就叫重写。
另外的自创,但也叫做柜子独特技术,但用工具不同有:
木头。(儿子牛,不用锤子照样做柜子。。。)
锯子,木头。(也是木头柜子)
锤子,铁皮。(铁皮柜子)
以上3中为重载。
明白?不明白给我发消息。呵呵~

F. 简述什么是方法重载方法重载必须具备什么样的条件

方法重载就是在一个类里面有方法的名字是一样的,但是方法的参数不同,可以是参数类型不同也可以是参数的个数不同。给你举个例子吧
class Area
{
float getArea(float r){
return 3.14*f*r;
}
double getArea(float x,int y){
return x*y;
}
float getArea(int x,float y){
return x*y;
}
double getArea(float x,float y,float z){
return (x*x+y*y+z*z)*2.0;
}
//还可以有其他的变量和方法什么的……我就不多写了……
}
注:方法的返回类型和参数的名字不参与比较,也就是说如果两个方法的名字相同,即使类型不同,也必须保证参数不同。
方法重载的好处就在于当你调用方法的时候可以通过你传入的参数的类型自动匹配方法,也就是为了突出面向对象的特点。
不晓得你明白了否……

G. 什么叫做方法的重载,高手可以举个例子吗

在Java 中,同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可。在这种情况下,该方法就被称为重载(overloaded),这个过程称为方法重载(method overloading)。方法重载是Java 实现多态性的一种方式。
举个简单的例子
public class A{
public int method (int i){
//方法一,只有一个int类型参数

}

public int method (int i,String s){
//方法一,有一个int类型参数和一个String类型参数

}

public static void main(String args[]){
A a=enw A();
a.method (2);//调用第一个方法
a.method(2,"ssss")//调用第二个方法

}

}

这样说得够清楚了,自己理解!

H. 在C#,什么叫做方法重载,怎样实现方法重载,

重载是指方法名称相同,
只是参数个数或类型不同.
方法功能是相同的.
除了重载,
还要了解以下几个关键字的用法,与区别:
virtual
定义为虚方法
override
对虚方法实现,具有多态性
new
把基类中的同名方法替换掉,
不具有多态性
//举个例子
//不使用方法重载
public
string
GetString(string
strValues)
{
if(strValues.Length==0)
{
return
"今天我遇到无名了。。。。";
}
return
"Hello,"+strValues+"兄";
}
//使用重载就是
public
string
GetString()
{
return
GetString("我是无名。。。你是?");
}
public
string
GetString(string
strValues)
{
return
strValues;
}

I. 方法的重载

在讲述方法重载的概念之前,我们先来看一下Console.WriteLine()方法.如果在控制台输出一个整数的值,代码如下:
int i;
Console.WriteLine(i)
如果输出一个字符串,代码如下:
string s=”hello world”;
Console.WriteLine(s);
看到上面年的代码我们会不会有疑问? WriteLine()方法的参数到底是什么?如果他是int 型,那编译第二个例子就会出错?
但实际上编译不会出错,运行后也能得到预期的效果,为什么呢?
答案是Consle类存在不同的WriteLine()方法,他们名称相同但是参数不同.
下面我们例举一些WriteLine()方法:

像Consle这样有多个同名的方法的现象称为方法重载.
方法重载的定义是:
可以在一个类中定义多个同名的方法,这些方法通过不同的参数类型或者参数的个数来区分.
注意:不能仅仅通过返回值类型的不同来定义多个方法.例如下面的代码在编译时将会出错.
class Myclass
{
public int add(int x,int y)
{
int i=x+y;
return i;
}
public static string add(int x,int y)
{
int i=x+y;
return i.ToString();
}
}
下面的例子定义了IsEqual()方法的两个重载,分别用来判断整数和两个字符串是否相等.
using System;

namespace ConsoleApplication3
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
bool b1 = MyClass.IsEqual(3, 5);
bool b2 = MyClass.IsEqual("abc", "ABC");
Console.WriteLine(b1);
Console.WriteLine(b2);
Console.ReadLine();
}
}

class MyClass
{
public static bool IsEqual(int x, int y)
{
if (x == y)
{
return true;
}
else
{
return false;
}
}

public static bool IsEqual(string s1, string s2)
{
if (s1 == s2)
{
return true;
}
else
{
return false;
}
}
}
}
一个方法可以有多少个重载是没有限制的,就好象他们是碰巧同名的不同方法而已.
例如:
MessageBox类调用静态方法Show(),该方法有多个重载,一个较常用的重载格式为:

public static DialogResult Show(
string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon);
该重载用于显示具有制定文本,标题,按钮,图标的消息框。其中text是指要显示的文本,caption是指要在消息框的标题栏中显示的文本,buttons是MessageBoxButtons的枚举值之一,表1;可指定在消息框中显示哪些按钮,icon是MessageBoxIcon 的枚举值之一。表2

成员名称 说明

AbortRetryIgnore 消息框包含“中止”、“重试”和“忽略”按钮。

OK 消息框包含“确定”按钮。

OKCancel 消息框包含“确定”和“取消”按钮。

RetryCancel 消息框包含“重试”和“取消”按钮。

YesNo 消息框包含“是”和“否”按钮。

YesNoCancel 消息框包含“是”、“否”和“取消”按钮。

例如private void button1_Click(object sender, System.EventArgs e) {
string str;
if(textBox1.Text == "") {
MessageBox.Show("You must enter a name.", "Name Entry Error",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else {
// Code to act on the data entered would go here.
str=textBox1.Text;
}
}

表2
成员名称 说明

Asterisk 该消息框包含一个符号,该符号是由一个圆圈及其中的小写字母 i 组成的。
Error 该消息框包含一个符号,该符号是由一个红色背景的圆圈及其中的白色 X 组成的。

Exclamation 该消息框包含一个符号,该符号是由一个黄色背景的三角形及其中的一个感叹号组成的。

Hand 该消息框包含一个符号,该符号是由一个红色背景的圆圈及其中的白色 X 组成的。
Information 该消息框包含一个符号,该符号是由一个圆圈及其中的小写字母 i 组成的。

None 消息框未包含符号。

Question 该消息框包含一个符号,该符号是由一个圆圈和其中的一个问号组成的。
Stop 该消息框包含一个符号,该符号是由一个红色背景的圆圈及其中的白色 X 组成的。
Warning 该消息框包含一个符号,该符号是由一个黄色背景的三角形及其中的一个感叹号组成的。

再比如:
MessageBox.Show(“是否重新输入数据?”,”我的消息框”, MessageBoxButtons.OKCancel, MessageBoxIcon. Question);
当关闭消息框时,知道用户单击哪个那牛非常重要。例如:如果用户单击了确定按钮,则执行某种操作;如果单击了取消按钮,则不执行任何操作。可以通过Show()方法的返回值来判断用户多做的选择,Show()方法的返回值是DialogResult值之一。
DialogResult枚举值:
值 Cancel :对话框的返回值Cancel (由标签为取消的按钮发送)
值 OK:对话框的返回值是OK(通常由标签为“确定”的按钮发送)
值 Yes:对话框的返回值是Yes(通常由标签为“是”的按钮发送)
值 No:对话框的返回值是No(通常由标签为“否”的按钮发送)
例子:
在关闭应用程序的时候,系统会弹出对话框来提示用户是否要退出应用程序,单击是就退出,单击否,则不会退出,模拟一下。
Code\7\Example1.

J. 什么是方法重载

方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。

阅读全文

与简述什么叫方法重载相关的资料

热点内容
酒用活性炭的使用方法 浏览:299
绳结打理方法视频教程 浏览:674
男女紫白计算方法 浏览:464
mdr1000x蓝牙连接方法 浏览:327
北斗星防盗控制器安装方法 浏览:868
简述常用的电气联锁方法以及特点 浏览:991
电机改发电机方法图片 浏览:6
win10提醒设置在哪里设置方法 浏览:339
楼层防火门安装方法 浏览:262
九种说明方法答题技巧 浏览:410
黑龙江鹿心粉正确食用方法 浏览:885
新人卡点训练方法 浏览:217
向量推导方法有哪些 浏览:263
剪映有哪些溶图方法 浏览:962
砌体砖墙体美缝方法视频 浏览:638
请假工资的计算方法 浏览:824
胃下垂最好治疗方法 浏览:916
水准测量中标尺零点误差处理方法 浏览:374
脚踝扭伤怎么处理方法 浏览:732
风扇吹感冒最佳治疗方法 浏览:557