本文目录一览:
- 1、java中继承的数值传递引用
- 2、java引用传递怎么用
- 3、谁知道Java中参数是引用传递还是值传递?
- 4、java到底是值传递还是引用传递
- 5、java引用数据类型的传递
- 6、分析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中没有引用传递,只存在值传递。
值传递:是对所传递参数进行一次副本拷贝,对参数的修改只是对副本的修改,函数调用结束,副本丢弃,原来的变量不变(即实参不变);引用传递:参数被传递到函数时,不复制副本,而是直接将参数自身传入到函数,函数内对参数的任何改变都将反映到原来的变量上。
我们经常看到对于对象(数组,类,接口)的传递似乎有点像引用传递,可以改变对象中某个属性的值。但是不要被这个假象所蒙蔽,实际上这个传入函数的值是对象引用的拷贝,即传递的是引用的地址值,所以还是按值传递。