如果有两个构造方法,它们都只有两个参数,比如
test1(int i,String s){} test2(String s,int i){}
它们的参数交换了位置,这样算是重载吗?编译可以通过吗?
方法重载:
1.必须在同一个类
2.方法名相同
3.方法参数个数或参数类型(或参数顺序)不同
注:
1.参数顺序指的是参数类型顺序,与参数名字无关,比如show(int a,,Stringa,int c)和show(int c,String b,int a)是一样的方法,非方法重载,因为他们的参数类型顺序一样是int,String,int
2.方法重载与访问权限修饰符和方法返回值无关
调用:
1.当调用的时候,填好方法参数时,它会自动判断参数类型,参数类型顺序,个数,然后再调用相应的重载 方法,当匹配不到相应的重载方法,那么直接编译错误
例子:
方法1. show()
方法2. show(int a,int b)
方法3. show(int a,String b)
方法4. show(String b,int a)
方法5. show(int b,int a)
1. 方法1.2.3.4是重载方法(1与[234]参数个数不同,2与[34]参数类型不同,3与[4]参数类型顺序不同)
2. 方法1.3.4.5是重载方法(1与[534]参数个数不同,5与[34]参数类型不同,3与[4]参数类型顺序不同)
3. 方法2和5非方法重载,因为参数类型顺序一样,跟参数名字无关
4. 以方法1.2.3.4为例,show()会调用方法1,show(1,1)会调用方法2,show(1,"1")会调用方法3
show("1",1)会调用方法4
----------------------------------------------------------------------------------------------------------------
你两个方法名分别是test1,test2,方法名不同,肯定不是方法重载,而且构造方法名必须跟类名一样,不可能出现不同名的构造方法
2.假如test(int i,String s){} test(String s,int i){}
那么这2个构造方法是重载,不会出现编译错误,因为参数类型顺序不同,第一个构造方法参数类型顺序是int,String,第二个构造方法参数类型顺序是String,int
需要在java进行一下操作:
public class apple{public int apple(int a)}
return a
private string apple(string k){return k}
一、Java:
是一种可以撰写跨平台应用软件的面向对象的程序设计语言;
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
二、Java由四方面组成:
Java编程语言,即语法;
Java文件格式,即各种文件夹、文件的后缀;
Java虚拟机(JVM),即处理*.class文件的解释器;
Java应用程序接口(Java API)。
java 构造方法重载
1.参数顺序指的是参数类型顺序,与参数名字无关,比如show(int a,,Stringa,int c)和show(int c,String b,int a)是一样的方法,非方法重载,因为他们的参数类型顺序一样是int,String,int 2.方法重载与访问权限修饰符和方法返回值无关 调用:1.当调用的时候,填好方法参数时,它会自动判断参...
java中关于构造器构造函数构造方法重载方法的困惑
就要进行方法重载:public String +(inti ,int j){}.方法一:--- public String +(String s ,int i){ return s+i.toString() ;} 重载方法:--- public String +(inti ,int j){ return i.toString()+j.toString() ;} \/\/其中toString()是将整形转化为字符串的方法;\/\/+号是方法名;---...
什么是Java方法重载
1、方法重载简单讲就是相同的方法名,参数不一样。我们在一个类里先创建一个zn的方法,参数接受的是一个数值型的。2、同样在这个类里,再创建一个方法,名字也叫zn,但参数接受的是一个字符串弄的。3、除了参数接受的数据类型不一样,也可以参数数量不一样,也能构成方法重载。4、重载的方法,我...
java语言中构造方法和方法重载在什么时候使用?有什么作用?请详细说明一...
第二个,方法重载,overload,是同名不同参数的方法。用于方法功能相同或基本相近,参数类型不同的。比如计算面积,计算圆和计算矩形功能类似,可以通过相同名称和不同参数来实现。一楼的哥们说的是重写,override,子类继承父类同名方法,用于多态的。
构造方法何时被调用
创建对象时,构造方法被调用。构造方法是一种特殊的方法,它是一个与类同名的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。在Java中,任何变量在被使用前都必须先设置初值,如无显式赋值,则编译...
java中为什么要用方法重载
(1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时 存在,具有不同的参数个数\/类型。重载Overloading是一个类中多态性的一种表现。(2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具 有不同的参数和不同的定义。调用方法时通过传递给...
java方法重载是指一个类中的,方法重写是不同类中的,对吗?
方法重载支持多态性,因为它是java实现"一个接口,多重方法"模式的一种方式。此外,构造方法也可以被重载。什么是方法重写:在类体系结构中,当子类中的方法与其父类中的方法具有相同的方法时,则认为子类中的方法重写了父类中的方法。从子类中调用重写方法时,将总是调用出现在子类中的方法,而父类中...
【java系列】java之重写和重载的区别
重载的关键点在于参数列表的差异,包括参数类型、数量或顺序的不同,与返回值及访问修饰符无关。重写则关注方法名、参数列表的匹配,返回值类型、异常类型可以与父类不同,但访问修饰符要求子类至少不低于父类的限制,遵循里氏替换原则。若父类方法的访问修饰符为private,子类则无法重写,因为private方法仅...
一个类中能有多重构造方法吗
构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的成员变量赋初值的专门功能:构造方法(constructor)构造方法是一种特殊的...
java构造函数重载错误…求问
构造函数都没有返回值,参数数量一样,类型一样,那么这就是同一个函数,一个类中,一个函数被定义两次是不行的,不能通过编译。构造函数当然可以重载,这种问题你自己可以试试看。