java 的方法中传入一个Object类型的参数它具体是什么类型的呢 java 一个方法中有多个类型相同的参数

作者&投稿:鄂贺 (若有异议请与网页底部的电邮联系)
Object是这些类的原始祖先。String类什么的包括你自己定义的类,都可以归到它的名下。(int 不是类,是基本数据类型)
好处是,这样可以适应更广泛的传参类型而不必每个类的参数类型都去专门定义一个功能类似的方法,当一个方法为
fun(Object a){}的时候
你用String做a也可以,用YourClass自定义的类做a等都可以。。。
而你如果只是
fun(String a){ }的话,就只能用String来做参数a。当你需要其他参数的fun的时候,你还得再新写一个fun(OtherClass a){}。

那就是传什么类型的数据都可以。Object是所有类的父类,作为参数的话可以接收任意子类的的实例,像String,int都可以。
至于为什么用,可能这是一个综合处理方法,可以处理任意多个类型的实例。

上传模型:
假设有类机构:
class ScrapIron{}//废铁

class WasteCar extends ScrapIron{}//废汽车
class WasteTelevision extends ScrapIron{}//废电视机
class WasteTank extends ScrapIron{}//废坦克

有类:
class ScrapIronFactory{//废铁厂
public void process(ScrapIron si){//处理废铁,他不需要知道你是废汽车还是废电视机,一律按照一样方法处理

}
}

你懂吗?

呵呵 你这个问题好像是方法中的参数要求是一种动物,你非得问人家到底是什么动物呢。具体是什么类型的,交给调用者来决定,可以是小狗、小猫,只要是动物就行。

java如何判断一个传入的object参数应该转换成什么类型?(int,double,date,string.....)~

if(obj instanceof Integer){

}else if(obj instanceof String){

}

这种技术叫方法重载
方法重载概念:
方法重载是让类以统一的方式处理不同类型数据的一种手段。
Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法, 这就是多态性。下面是一个方法重载的例子:
class MethodOverloading {
viod receive(int i) {
System.out.println("Received one int data");
System.out.println("i="+i);
}
viod receive(float f) {
System.out.println("Received one float data");
System.out.println("f="+f);
}
viod receive(String s) {
System.out.println("Received a String");
System.out.println("s="+s);
}
}
注意,Java的方法重载要求同名的方法必须有不同的参数表,仅有返回类型不同是不足以区分两个重载的方法。