Ⅰ java引用类型传值是怎么样的
像 C 语言的指针一样的约定,这里的引用并不像C++ 引入的引用。虽然名字一样,但实际意思略有不同。
也就是说在 Java 中把一个抽象类型的对象当参数传递给一个方法,在方法中这个形参是可以改变赋值到其它对象,这时这个改变只在这个方法内看得到,方法调用完了之后那个参数在外面看来还是指向原来的对象。
Ⅱ Java类间传值,谢谢了
第一种可能:在点击绘制图像按钮的操作里,没有给m、n、p、q重新赋值为文本域中的值。虽然改变了文本域中的值,也就是A类中的值,但没有再次给m、n、p、q赋值,所以它们都还是原来的值。
第二种可能:在点击绘制图像按钮的操作里,每次都新建一个A类对象。这样的话,改变文本域中的值,是改变已经存在的A类对象里的值,点击绘制图像按钮后,又新建了一个A类对象,新建的对象里的值是默认值,不是文本域中的新值,所以m、n、p、q的值还是没变。
目前就想到这两种情况,你可以DEBUG一下,看看你填到文本域中的值,是否传到了A类对象中,改变后的值是否赋值给了m、n、p、q,B的绘制坐标轴操作是否重新读取了m、n、p、q的值。
Ⅲ Java到底是传引用还是传值
java中方法参数传递方式是按值传递。所谓值传递,就是将实际参数值的副本(复制品)传入方法内,而自己本身不会受到任何影响。
如果参数是基本类型,传递的是基本类型的字面量值的拷贝。
Ⅳ Java类如何传值
publicclassBase{
privateStringsdate;
publicStringgetSdate(){
returnsdate;
}
publicvoidsetSdate(Stringsdate){
this.sdate=sdate;
}
publicBase(Stringsdate){
this.sdate=sdate;
}
}
classAextendsBase{
privateStringsdate;
publicA(Stringsdate){
super(sdate);
}
}
//这种方式可以,但是仅限于父子类之间,如果想在实例还有造出来之前,使用实例内的内容,那是不可能的
Ⅳ java对象如何做到值传递
您好:
Java中参数的传递方式有两种:传值和传引用。按值传递(call by value)表示方法接受的是调用者提供的值;按引用调用(call by reference)表示方法接受的是调用者提供的变量地址。
传值,参数为基本类型时,是采用传值的方式,示例如下:
以上,供参考,希望对你有帮助!
Ⅵ java如何把一个类的某个值传到另一个类
class A
{
int a=5;
}
class B
{
int a;
B(A a1)//通过构造器
{
this.a=a1.a;
}
public void setA(A a1)//通过调用方法可以
{
this.a=al.a;
}
}
另,通过继承也可以
class A
{
int a=5;
}
class B extends A
{
}
B类中有a;
Ⅶ java类方法如何实现引用传递和值传递
参数是基本类型就是传值,传对象就是引用传递。
swap(Integer x, Integer y)可以传递引用,但是没办法实现交换。这跟Integer的实现方式有关。所以不是引用传递就一定能改变外面的值。
下面是引用传递,交换的情况,又臭又长。
classUntitled{
intneedFix;
publicstaticvoidswap(Untitledx,Untitledy){
inttemp=x.needFix;
x.needFix=y.needFix;
y.needFix=temp;
}
publicstaticvoidmain(String[]args){
Untitle1=newUntitled();
Untitle2=newUntitled();
u1.needFix=3;
u2.needFix=4;
swap(u1,u2);
System.out.println(u1.needFix+","+u2.needFix);
}
}
另外,你可以考虑一下引用传递,不过也是一种传值,java里面没有事实上的指针。直接交换引用指向的对象是没有作用的。
Untitledtemp=x;
x=y;
y=temp;
无效。
Ⅷ java 类与类之间 的值传递
想要在Movedown中获取GameFrame中的属性,首先一点你要把GameFrame传给Movedown类。
传递的方式有两种
方法一(构造方法传递):
public class Movedown {
GameFrame gf;
public Movedown(GameFrame gf){
this.gf= gf;
}
}
方法二:可以在Movedown中定义一个全局变量y 并定义set方法为这个y复制,然后把GameFrame.y通过set方法set进去就可以了。这里就不多说了。
Ⅸ Java类是值传递还是引用传递
基本类型是值传递,
引用类型
可以看作是是
引用传递
.举个简单的例子吧
public
class
tt
{
public
static
void
change(int
a)
{
a=2;
}
public
static
void
change(int[]
A)
{
A[0]=2;
}
public
static
void
main(String[]
args)
{
int
b=1;
change(b);
System.out.println(b);//基本类型是
值传递
,所以b的值没有改变
int[]
B={1};
change(B);
System.out.println(B[0]);//数组版,对象等引用类型是引用传权递,所以B的值发生改变
}
}