导航:首页 > 安装方法 > 给一个哪里会使用方法重载例子

给一个哪里会使用方法重载例子

发布时间:2022-08-21 20:35:29

㈠ java中方法的重载的什么意思,最好举个例子

1)方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。

(2)Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。

(3)重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。

下面是重载的例子:
class Cat {
void isCat(){ //isCat()方法是重载方法
System.out.println("this is a cat.");
}
void isCat(String color){ //注意:重载的方法的返回值都是一样的
System.out.println("this is a "+color+" cat.");
}
void isCat(String color ,String size ){//不能以返回值区分重载方法
size = "big";
System.out.println("this is a "+size+" "+color+" cat.");
}
}

㈡ java中为什么要用方法重载

要弄清楚为什么要用方法重载,就必须知道重载和重写的区别;下面的资料你可以看看:

Java中重载和重写的区别

首先我们来讲讲:重载(Overloading)
(1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时
存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。
(2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具
有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型
来决定具体使用哪个方法, 这就是多态性。
(3) 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同
也可以不相同。无法以返回型别作为重载函数的区分标准。
下面是重载的例子:
package c04.answer;//这是包名
//这是这个程序的第一种编程方法,在main方法中先创建一个Dog类实例,然后在Dog类的构造方法中利用this关键字调用不同的bark方法。不同的重载方法bark是根据其参数类型的不同而区分的。

//注意:除构造器以外,编译器禁止在其他任何地方中调用构造器。
package c04.answer;

public class Dog {
Dog()
{
this.bark();
}
void bark()//bark()方法是重载方法
{
System.out.println(“no barking!”);
this.bark(“female”, 3.4);
}
void bark(String m,double l)//注意:重载的方法的返回值都是一样的,
{
System.out.println(“a barking dog!”);
this.bark(5, ”China”);
}
void bark(int a,String n)//不能以返回值区分重载方法,而只能以“参数类型”和“类名”来区分
{
System.out.println(“a howling dog”);
}

public static void main(String[] args)
{
Dog dog = new Dog();
//dog.bark();
//dog.bark(“male”, ”yellow”);
//dog.bark(5, ”China”);

然后我们再来谈谈 重写(Overriding)
(1) 父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某

方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。在Java中,
子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不
动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又
称方法覆盖。
(2) 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,
则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字,该关键
字引用了当前类的父类。
(3) 子类函数的访问修饰权限不能少于父类的;
下面是重写的例子:
概念:即调用对象方法的机制。
动态绑定的内幕:
1、编译器检查对象声明的类型和方法名,从而获取所有候选方法。试着把上例Base
类的test注释掉,这时再编译就无法通过。
2、重载决策:编译器检查方法调用的参数类型,从上述候选方法选出唯一的那一个
(其间会有隐含类型转化)。如果编译器找到多于一个或者没找到,此时编译器就会
报错。试着把上例Base类的test(byte b)注释掉,这时运行结果是1 1。
3、若方法类型为priavte static final ,java采用静态编译,编译器会准确知道该调用哪
个方法。
4、当程序运行并且使用动态绑定来调用一个方法时,那么虚拟机必须调用对象的实
际类型相匹配的方法版本。在例子中,b所指向的实际类型是TestOverriding,所以
b.test(0)调用子类的test。但是,子类并没有重写test(byte b),所以b.test((byte)0)调用
的是父类的test(byte b)。如果把父类的(byte b)注释掉,则通过第二步隐含类型转化为
int,最终调用的是子类的test(int i)。

学习总结:多态性是面向对象编程的一种特性,和方法无关.

简单说,就是同样的一个方法能够根据输入数据的不同,做出不同的处理,即方法的重载——有不同的参数列表(静态多态性)

而当子类继承自父类的相同方法,输入数据一样,但要做出有别于父类的响应时,你
就要覆盖父类方法,即在子类中重写该方法——相同参数,不同实现(动态多态性)

OOP三大特性:继承,多态,封装。

public class Base
{
void test(int i)
{
System.out.print(i);
}
void test(byte b)
{
System.out.print(b);
}
}
public class TestOverriding extends Base
{
void test(int i)
{
i++;
System.out.println(i);
}
public static void main(String[]agrs)
{
Base b=new TestOverriding();
b.test(0)
b.test((byte)0)
}
}
这时的输出结果是1 0,这是运行时动态绑定的结果。

㈢ php继承中方法重载(覆盖)的应用场合

本文实例分析了php继承中方法重载(覆盖)的应用场合。分享给大家供大家参考。具体分析如下:
方法重载(override)/覆盖——在什么情况下使用:当父类知道所有的子类都需要用到一个方法,但父类不知道怎么去写这个方法时,就需要用到方法的重载。这时候,可以让子类去重写,来覆盖这个方法。
通俗实例——父类(动物)知道其子类(猫和狗)都会叫,但它们的叫法都不一样,所以父类没法去写这个方法,只能让子类(猫和狗)去定义。代码如下:
<?php
class
Animal{
public
$name;
protected
$price;
function
cry(){
echo
"不知道动物怎么叫";
}
}
class
Dog
extends
Animal{
function
cry(){
echo
"汪汪...";
}
}
class
Pig
extends
Animal{
function
cry(){
echo
"哼哼..."
}
}
?>
方法重载/覆盖的要点与细节(读起来有点呦口):
1、要求子类的方法,其方法名称、参数列表与父类方法一模一样。如例子中cry(),不能添加参数,改成cry($naaa)等。注意:这里并不要求参数名一样,只是要求参数的个数是一样的。
2、所谓的重载或覆盖,并不是将父类的方法覆盖。也可以这么理解:如果子类有调用该方法时,如果在自己类里找不到这个方法,那么它会去找父类里,看有没有这个方法。这也是多态的理解
3、如果子类里某个方法,要把父类里相同名称方法里的内容继承下来,可以使用
parent::方法名

父类名::方法名
继承。在子类定义的方法内使用。
4、访问权限问题,子类的访问范围>=父类的访问范围,即如果父类是protected
function
cry(),子类则只能是protected或public。
希望本文所述对大家的php程序设计有所帮助。

㈣ 你可以再举个例子吗最好是有重载的完整的程序,讲讲那用了重载,那个重载时怎么用出来的,有啥作用。

参数类型上不同的重载函数

#include <iostream.h>
int add(int, int);
double add(double, double);
void main()
{
std::cout<<add(5, 10)<<std::endl;
std::cout<<add(5.0, 10.5)<<std::endl;
}
int add(int x, int y)
{
return x+y;
}
double add(double a, double b)
{
return a+b;
}
该程序中,main()函数中调用相同名字add的两个函数,前边一个add()函数对应的是两个int型数求和的函数实现,而后边一个add()函数对应的是两个double型数求和的函数实现。这便是函数的重载。
以上程序输出结果为:
15
15.5
参数个数上不同的重载函数

#include <iostream>
int min(int a, int b);
int min(int a, int b, int c);
int min(int a, int b, int c, int d);
int main(void)
{
cout<<min(13, 5, 4, 9)<<endl;
cout<<min(-2, 8, 0)<<endl;
}
int min(int a, int b)
{
return a<b?a:b;
}
int min(int a, int b, int c)
{
int t = min(a, b);
return min(t,c);
}
int min(int a, int b, int c, int d)
{
int t1 = min(a, b);
int t2 = min(c, d);
return min(t1, t2);
}

㈤ java重载实例

public class overload{
public void m(int i){
System.out.println(i):
}
public void m(int i,int j){
System.out.println(i+j):
}
}
上面的例子中你可以看到,一个类里面有两个名字相同的方法,但是参数数量却不一样,这种情况就叫方法的重载。重载不仅仅只涉及参数数量不同,还有别的,你可以查一下

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

在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")//调用第二个方法

}

}

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

㈦ 请问java中重写和重载的区别是什么能不能举一个重载的例子呢谢谢!

方法重载:就是在同一个类中,方法的名字相同,但参数个数、参数的类型或返回值类型不同!
方法重写:它是指子类和父类的关系,子类重写了父类的方法,但方法名、参数类型、参数个数必须相同!
举个例子:
Test.java
--------------
public class Test
{
public static void main(String[] args){
Test ts = new Test() ;
System.out.println(ts.ss("s1","s2")) ;
System.out.println(ts.ss("s1")) ;
}
public String ss(String s1,String s2){
return s1+s2 ;
}
public String ss(String s1){
return s1 ;
}
}
----------------
其中ss就形成了方法重载.

㈧ 方法重载和重写的区别有点不懂,麻烦给举个例子!

重载是方法名一样,但是参数类型或者个数不一样,(什么意思呢,就是方法名字一样,只是里面的参数个数或类型不一样)

如:Method(param A,param B){}
和Method(param A){}就是重载,
重写是指方法名和参数完全一样,就里面的具体实现不同,一般是子类重写父类的方法

阅读全文

与给一个哪里会使用方法重载例子相关的资料

热点内容
怎么获得智慧的方法 浏览:452
臀腿围度训练方法 浏览:498
恢复图片简单方法 浏览:736
清水莲藕食用方法 浏览:828
地线接线方法与图片 浏览:443
角膜葡萄肿治疗方法 浏览:451
电路故障排查的原因和解决方法 浏览:366
泡沫清洗机使用方法 浏览:667
老面包用的什么方法 浏览:537
xp默认启动设置在哪里设置方法 浏览:977
迈腾尾翼安装方法 浏览:545
在家简单的方法把铝溶掉 浏览:714
橡木塞的鉴别方法 浏览:398
幼儿口腔溃疡的治疗方法 浏览:672
阻止毒物继续吸收的常用方法 浏览:288
瘦身乳涵曦使用方法 浏览:260
技术分析工具使用方法 浏览:599
哑铃有效锻炼方法视频 浏览:1000
语言的研究方法有哪些 浏览:839
翡翠手链制作方法和图片 浏览:661