「java参数对象」java对象作参数起到什么作用
今天给各位分享java参数对象的知识,其中也会对java对象作参数起到什么作用进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java中的参数(对象)是怎样传递的
基本类型传值,比如int,float,char,double
引用类型传引用,也就是地址,比如数组,自己创建的类的对象,
传值对原来的值没有影响,传引用有影响。传值直接把原来的数拷贝一份,和原来的数没有关系了。传引用,比如对象是a,a指向一个地址,这个地址里放它的各种属性,你把a传过去就相当于告诉程序要修改那个地址里的东西,不改变a的值(a本身是个地址),a还是指向那个地址,不过地址里的数据会发生改变,会影响到a.属性的值。
最后,有一个特殊的,String,它虽然是引用类型,传的是地址,但是对它进行操作不影响原来的字符串,因为它定义的时候是用final修饰的,一修改就自动创建新的副本。
java 需要传递类对象为参数的时候,几种方法
下面给你举例3种方法:
1、直接抽象类
对象 = new 抽象类()
{
//重写此抽象类的抽象方法
};
2、抽象类
对象 = new 子类();
接口/实现类 对象= new 实现类()
class 子类 extends 抽象类{
//实现此抽象类的抽象方法即可。
}
class 实现类 implements 接口{
//实现此接口的抽象方法即可
}
3、直接把对象创建出来,比如在参数中需要用到某个类对象的时候,除了上述方法以外,也可以直接把此对象创建出来。
public void method(class obiect,,);
()中就可以这么写
(new (抽象类/接口(){
//在这实现抽象方法
}))
JAVA 如何将对象作为参数使用
最通俗的和你解释:
第一个参数是对象,传递过去的是引用(即地址),当这个对象里面的字符串改变后,不影响这个对象的地址,即对象地址没有变,始终可以找到里面改后的字符串
第二个参数是字符串,传递的依然是引用,当在test函数中改变字符串时,因为字符串时不可变的,那么会改变这个str的地址值,使其指向新开辟的区域“world”,原来主函数的str没有变,而test中的str指向了另个字符串【请牢记,虽然是址传递,看似都会变,这里由于两个原因,一是主函数和test中的str一开始指向的是同一空间,但是,它们各自是存耽礌槽啡噩独茶扫偿激储在不同空间的;二是字符串是不变的,它们指向的字符串不会改变,test中的str会指向其他新开辟的地方】!!!
希望你能懂。
关于JAVA的方法参数是类对象的问题
public void f(A a){} //假设A是一个类
可以传入new A;这就是把类的对象给传入进去了,我来简单的剖析一下。
A a=new A();
A是类型,a是对象变量,new A();构建对象,a就可以访问A的成员了。
如果A有子类,假设是B,也可以这样传入 A a=new B();这个是父类引用子类的内存地址,你可以这样认为byte b=10;int a=b;int比byte大,可以接受byte并且自己转换过来。但是类型是A就只能看到A类下面的成员。
还有一种强制转换,传递对象过去,有限制的!比如方法要求子类对象B,调用时候,传递子类没问题,如果是父类引用子类呢?那么就把父类强转为子类传递,如果是new父类转换子类是错误的,因为内存地址不一样,怎么收?父类引用子类,在强制转换为子类,有点绕,知道多态就明白了。
关于java参数对象和java对象作参数起到什么作用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-06,除非注明,否则均为
原创文章,转载请注明出处。