您的位置:

java引用传递,java引用传递自身关联结构

本文目录一览:

java中继承的数值传递引用

这个题目如下思路与实现

思路:

依照圆和圆柱的描述抽象成Java程序里的对象Cylinder与Circle,这也是Java的特点之一

圆与圆柱的关系:圆柱继承圆

写测试类TestCylinder

实现:

1.圆:

class Circle {

private double radius;// 半径

// 构造方法半径设为1

public Circle() {

super();

this.radius = 1.0;

}

// 设置半径

public void setRadius(Double radius) {

this.radius = radius;

}

// 得到半径

public Double getRadius() {

return radius;

}

}

2.圆柱

class Cylinder extends Circle {

private double length;

public Cylinder() {

super();

this.length = 1.0;

}

public void setLength(double length) {

this.length = length;

}

public double getLength() {

return length;

}

public double findVolume() {

return this.length * super.getRadius() * super.getRadius() * Math.PI;

}

}

3.测试

public class TestCylinder {

public static void main(String[] args) {

Cylinder cy = new Cylinder();//实例化一个圆柱

System.out.println(cy.findVolume());//因为length有默认值1,圆柱的父类圆具有半径且初始值是1,此处,没有主动给length和radius赋值,所以findVolume里使用的半径与高都是1,所以体积是3.141592653589793

cy.setRadius(2.0);

cy.setLength(2.0);

System.out.println(cy.findVolume());//主动给半径和高设置值,那么cy的半径与高的初始值就会被改变,结果就是2*2*2*PI

}

}

运行结果:

3.141592653589793

25.132741228718345

java引用传递怎么用

String类型的传递是引用传递。也即是地址传递。传的是str的地址。把str里“good”的地址传给change()方法里的str。change()里的str赋予新的地址。是“testok”的地址。此时ex.str对“good”的引用没变。就是还是存放“good”的地址。所以。ex.str还是“good”基本数据类型传递的是值。但是数组类型是引用类型。传的也是ch的中{‘a’,‘b’,‘c’}的地址。ch[0]修改为‘g’。基本数据类型的修改改的是其值。所以change()中ch接受传来的ex.ch的地址,指向{‘a’,‘b’,‘c’},修改其中的ch[0]后。修改保持。ex.ch引用不变。变为{‘g’,‘b’,‘c’}要想修改它们的值,change()传的是Exampleechange(Examplee){e.str=“testok”;e.ch[0]='g';}

谁知道Java中参数是引用传递还是值传递?

java中方法参数传递方式是按值传递。所谓值传递,就是将实际参数值的副本(复制品)传入方法内,而自己本身不会受到任何影响。

如果参数是基本类型,传递的是基本类型的字面量值的拷贝。 

如果参数是引用类型,传递的是该参量所引用的对象在堆中地址值的拷贝。

java到底是值传递还是引用传递

java中方法参数传递方式是按值传递。所谓值传递,就是将实际参数值的副本(复制品)传入方法内,而自己本身不会受到任何影响。

如果参数是基本类型,传递的是基本类型的字面量值的拷贝。 

如果参数是引用类型,传递的是该参量所引用的对象在堆中地址值的拷贝。

java引用数据类型的传递

引用数据类型就是以对象的形式存在于计算机栈内存中,在堆内存中保存着一个地址引用,这个引用地址指向了这个对象。我们通过操作这个地址引用,就能获取到这个对象,并对其进行操作。类似于c中的指针。

你具体想问的什么问题呢

基本类型八种:

byte、short、int、long、float、double、boolean、char,

除了这八种,都是引用类型,包括string

分析java中有没有引用传递

java中没有引用传递,只存在值传递。

值传递:是对所传递参数进行一次副本拷贝,对参数的修改只是对副本的修改,函数调用结束,副本丢弃,原来的变量不变(即实参不变);引用传递:参数被传递到函数时,不复制副本,而是直接将参数自身传入到函数,函数内对参数的任何改变都将反映到原来的变量上。

我们经常看到对于对象(数组,类,接口)的传递似乎有点像引用传递,可以改变对象中某个属性的值。但是不要被这个假象所蒙蔽,实际上这个传入函数的值是对象引用的拷贝,即传递的是引用的地址值,所以还是按值传递。