❶ java中方法的重载和构造方法的重载有什么不同
方法的重载是一个类中同一个方法的不同实现,是java多态的一种表现形式
普通方法和构造方法的重载唯一的不同就是普通方法要考虑返回值,而构造方法不需要。
普通方法:
public
int
check(){
.......
return
3;
}
public
String
check(){
.......
return
"3";
}
构造方法:
public
Class(String
s){
.......
}
public
Class(int
a){
.......
}
❷ java重载构造方法
public class Cat{
private String name;
private int age;
private String foot="鱼";
public Cat(){}
public Cat(String name){
this.name=name;
}
public Cat(String name,int age){
this.name=name;
this.age=age;
}
public void eat(){
}
public void eat(String foot){
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
public String getFoot(){
return foot;
}
public String toString(){
StringBuffer buffer=new StringBuffer();
buffer.append("名叫"+getName()+"的小猫,今年"+getAge()
+"岁,正在吃+getFood()+");
return buffer.toString();
}
public static void main(String[] args){
Cat cat=new Cat("coffei cat",2);
cat.eat("老鼠");
System.out.println(cat);
}
}
❸ JAVA中的构造方法怎么重载
无论是构造方法还是普通方法
区别2个方法是否相同要看2个方面,方法名和参数
普通方法:方法名不同。
重载方法:方法名相同,参数不同(可以是参数个数或者参数类型)。
调用的重载方法的时候会根据传入的参数类型判断使用哪个方法。
就你的代码而言
new classWuMingFen("ma", 1); //就是调用classWuMingFen(String ma,int qtity)这个构造方法
new classWuMingFen(“ma”,1,true); //就是调用classWuMingFen(String thema,int Quantity,boolean likesoup)这个构造方法
❹ java构造方法的重载有什么作用,构造不是用来初始化类的成员变量吗,有一个就可以在建立对象时在小括
这个问题你可以把sub里面test方法的this.a改为super.a会发现输出的是5,也就是说new
sub()时先去初始化super,会调用super里的test方法,而在sub里重写了test方法,则这个this其实是sub,而还sub还未初始化故a=0,改为super后访问的是super的a就是5了,你可以把sub里的test注掉再跑一边
❺ 举例说明java中的构造方法和重载
构造方法是构造类事例的方法
重载可以对任何方法(出了final的)重载,包括构造方法
那一楼的例子为例:
public
classic
Man(){
int
weight;
int
height;
String
name;
int
age;
Man(){
}
Man(String
name,int
weight,int
height,int
age){
this.weight=weight;
this.height=height;
this.name=name;
this.age=age;
}
public
viod
ptintXXX(){
System.out.prinln("fsdaghahah");
}
}
当你要生成Man的实例时
Man
man=new
Man();
或者Man
man=new
Man("asd",120,180,20);
其中Man类中的Man()和Man(String
name,int
weight,int
height,int
age)是构造方法,用来构造类的实例的
至于重载
public
classic
son
extends
Man(){
int
weight;
int
height;
String
name;
int
age;
public
viod
ptintXXX(String
str){
//重载Man的ptintXXX方法
System.out.prinln(str);
}
}
❻ java中构造方法重载吗
在使用new创建对象时,Java会根据提供的参数来决定构建哪一个构造器。比如在构建neZha时,我们提供了两个参数: 整数150和字符串"shit",这对应第二个构建方法的参数列表,所以Java会调用第二个构建方法。
在Java中,Java会同时根据方法名和参数列表来决定所要调用的方法,这叫做方法重载(method overloading)。构建方法可以进行重载,普通方法也可以重载,比如下面的breath()方法:
public class Test
{
public static void main(String[] args)
{
Human aPerson = new Human();
aPerson.breath(10);
}
}
class Human
{
/**
* breath() 1
*/
void breath()
{
System.out.println("hu...hu...");
}
/**
* breath() 2
*/
void breath(int rep)
{
int i;
for(i = 0; i < rep; i++) {
System.out.println("lu...lu...");
}
}
int height;
}
运行结果:
lu...lu...
lu...lu...
lu...lu...
lu...lu...
lu...lu...
lu...lu...
lu...lu...
lu...lu...
lu...lu...
lu...lu...
可以看到,由于在调用的时候提供了一个参数: 整数10,所以调用的是参数列表与之相符的第二个breath()方法。
❼ java中的方法重载
重载
含义:
只要方法名相同,参数表不同,就可以构成方法重载。
方法重载,在JAVA中,也叫:
编译时多态。(由编译的时候来确定调用哪个方法)
重载的原则:
向上就近匹配原则
注意:
如果只有print(
double
d
)
方法,而要调用
print(int)
,则编译器会自动地就近向上匹配
print(double)
方法。但是反过来就不行,
因为从大到小会丢失精度,
所以,没有就近向下匹配原则.
关键字:
this
This:
指当前对象的。
。
。
有两种用法:
表示当前对象:
this.age
=
age;
this.name
=
name;
在调用本类的其它构造方法时。
This(参数表),
注:this的这种用法只能放在第一行。
方法调用:传值,
传引用
记住:
在JAVA中,简单类型变量一定是传值。
对象变量一这是传引用(也就是指向对象的首地址)
❽ java重载构造方法怎么操作啊
重载了方法,是一个一个方法调用 干吗要一起调用 需要调用的话就跟平常多个方法一样,多调用几次 构造方法用来构造对象 A a = new A(); 构造方法调用自己的另一个构造方法: 在第一行调用this(参数表);
❾ Java中方法重载和构造方法的区别
方法重载就是同一个类中,有多个方法,方法名是一样的,但是形参不一样,调用的时候,程序会根据传入的形参不同,而选择对应的方法。例如void a(){} 和 void a(String b)和void a(int b){}就是重载的三个方法。
构造方法也叫构造器,它也是一种方法,也可以重载,它的方法名与类名相同,不用写返回值,也不用加void。例如
class a{
public a(){}
}
另外构造器是在创建此类的对象的时候就会调用的,它的作用是初始化类的对象。 如果你没有为类写构造器,JAVA虚拟机自动为类添加一个无参数的构造器,只是你看不到。
❿ java 构造方法怎么重载
需要在java进行一下操作:
public class apple{public int apple(int a)}
return a
private string apple(string k){return k}