java菜鸟求学提问!
publicvoidsop(Objectobj){System.out.println(obj)}publicvoidMyAdd(Objectobj){link.addF...
public void sop(Object obj)
{
System.out.println(obj)
}
public void MyAdd(Object obj)
{
link.addFirst(obj)
}
上面两个句子没关系的!我只是想拿出来问问!
我想问的就是在参数里Object obj到底什么意思?像sop方法参数里有Object ,这个方法我就可以拿来当输出语句。。。!为什么?
我可以明白参数里有 int String等参数 但我不明白 参数里也可以传Objcet!! 我知道Object是所有类的父类!请高手讲解下!谢谢了! 展开
{
System.out.println(obj)
}
public void MyAdd(Object obj)
{
link.addFirst(obj)
}
上面两个句子没关系的!我只是想拿出来问问!
我想问的就是在参数里Object obj到底什么意思?像sop方法参数里有Object ,这个方法我就可以拿来当输出语句。。。!为什么?
我可以明白参数里有 int String等参数 但我不明白 参数里也可以传Objcet!! 我知道Object是所有类的父类!请高手讲解下!谢谢了! 展开
3个回答
展开全部
public void sop(String s)
{
.........//省略代码
}
也就是说这样的参数你看的懂咯。
那道理是一样的了。参数,就是凡是java所允许的类型都可以作为参数。比如你先前提到的int,double,char.........这些参数是我们普通意义上,更专业的讲是基本数据类型,除此之外还有引用类型(要理解引用类型,最好先学学C的传值和传地址,那懂了,java这个就太简单了)
引用类型有对象,接口,枚举等
Object也好int,String也好,都只是一个参数而已。用Object或是某些基类,只要是为外部提供一个通用的接口而已。
比如sop(),我可以传String类型的数据sop(“123”),也可以传int,double类型的数据(只是要把它变成相应的对象)sop(new Double(1))甚至可以传递java的任意数据类型,比如接口
sop(new Action())
比如要实现两个数大小的比较,我可以这样定义public Object max(Object obj1,Objiect obj2)
那么我用这个函数就可以实现求两个int,double,float,甚至int与double类型的比较。当然还可以比较2个有理数,实数,虚数的大小(当然要自定义一个类,并且要实Comparable接口,这是一个泛型接口,里面只有一个方法 int compareTo(T o))甚至String类型以及任何数据类型都可以。(同理,要实现Comparable接口就行了)
慢慢来,以后你会遇到的,尤其是学java 集合框架/Swing GUI编程后,那这个问题已不是问题了
{
.........//省略代码
}
也就是说这样的参数你看的懂咯。
那道理是一样的了。参数,就是凡是java所允许的类型都可以作为参数。比如你先前提到的int,double,char.........这些参数是我们普通意义上,更专业的讲是基本数据类型,除此之外还有引用类型(要理解引用类型,最好先学学C的传值和传地址,那懂了,java这个就太简单了)
引用类型有对象,接口,枚举等
Object也好int,String也好,都只是一个参数而已。用Object或是某些基类,只要是为外部提供一个通用的接口而已。
比如sop(),我可以传String类型的数据sop(“123”),也可以传int,double类型的数据(只是要把它变成相应的对象)sop(new Double(1))甚至可以传递java的任意数据类型,比如接口
sop(new Action())
比如要实现两个数大小的比较,我可以这样定义public Object max(Object obj1,Objiect obj2)
那么我用这个函数就可以实现求两个int,double,float,甚至int与double类型的比较。当然还可以比较2个有理数,实数,虚数的大小(当然要自定义一个类,并且要实Comparable接口,这是一个泛型接口,里面只有一个方法 int compareTo(T o))甚至String类型以及任何数据类型都可以。(同理,要实现Comparable接口就行了)
慢慢来,以后你会遇到的,尤其是学java 集合框架/Swing GUI编程后,那这个问题已不是问题了
追问
明白了!也就是说(Object obj)=Object obj = new String 或者 Object obj = new Char 或者
Object obj = new Float 因为Object 是所有类的父类!其实就是一个多态的形式!对吗?
追答
Object obj = new String ()
这种是对象的上转型对象,他可以操作父类的方法和变量。可以这样去理解。建议你再看看对象的上转型对象
展开全部
Object 参数在这里他可以作用于所有参数类型,
sop方法可以传入String 类型,Integer类型。
sop方法可以传入String 类型,Integer类型。
追问
那方法体内的输出语句里传入的是obj 怎么讲?我直接拿sop方法就可以当输出用!
追答
是可以直接打印object对象的
因为你的方法体内已经有打印语句了啊。
你可以试试调用方法sop(123);传入123
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-05-05
展开全部
如果传过来的的Object对象是那些可以直接输出的类型就可以这样用了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询