您的位置:首页 > 编程语言 > Java开发

java引用类型参数传值的两个很好的例子

2016-08-25 11:00 405 查看
java引用类型数据包括数组,接口,等等,当参数是引用类型时,“传值”传递的是变量中存放是“引用”,儿不是变量所引用的实体,下面有两个个很好的例子:

例子1:

首先写一个电池类,和收音机类

package Example1;
//电池类
public class Battery {
int electicityAmount;
public Battery(int amount) {
electicityAmount = amount;
}
}


package Example1;
//收音机类
public class Radio {
void openRadio(Battery battery){
battery.electicityAmount = battery.electicityAmount - 10;
}
}


主函数:

package Example1;

public class Example1 {
public static void main(String args[]){
Battery battery = new Battery(100);
System.out.println("电池的存储电量是:" + battery.electicityAmount);
Radio radio = new Radio();
System.out.println("收音机开始使用电池");
radio.openRadio(battery);
System.out.println("收音机使用后的电量为:" + battery.electicityAmount);
}
}


下面是调试结果:

电池的存储电量是:100

收音机开始使用电池

收音机使用后的电量为:90

例子2

Circle类

package Example2;

public class Circle {
/**
* 定义半径,面积
*/
double radius,area;
/**
* 构造方法
* @param r
*/
Circle(double r) {
radius = r;
}
/**
* 修改半径
* @param r
*/

void setRadius(double r){
radius = r;
}

/**
* 获得半径
* @return
*/
double getRadius(){
return radius;
}

/**
* 求面积方法
*/
double getArea(){
area = 3.14 * radius * radius;
return area;
}
}


Circular 类

package Example2;

public class Circular {
Circle bottom;
double heght;
/**
* 构造方法
*/
Circular(Circle c,double h) {
bottom = c;
heght = h;
}
/**
* 圆锥体积
* @return
*/
double getVolme(){
return bottom.getArea()*heght/3.0;
}
/**
* 获得圆锥底部的半径
*/
double getBottonRadius(){
return bottom.getRadius();
}
/**
* 修改圆锥底部的半径
*/
public void setBottomRadius(double r){
bottom.setRadius(r);
}
}


主函数:

package Example2;

public class Example {
public static void main(String args[]){
Circle circle = new Circle(20);
System.out.println("main方法中circle的引用" + circle);
System.out.println("main方法中circle的半径" + circle.getRadius());
Circular circular = new Circular(circle, 20.0);
System.out.println("circular圆锥中bottom的引用" + circular.bottom);
System.out.println("circular圆锥的半径" + circular.getBottonRadius());
System.out.println("circular圆锥的体积:" + circular.getVolme());
double r =100;
System.out.println("圆锥更改底部圆Bottom的半径:" + r);
circular.setBottomRadius(r);
System.out.println("圆锥的buttom的半径:" + circular.getBottonRadius());
System.out.println("圆锥的buttom的体积:" + circular.getVolme());
System.out.println("main方法中circle的半径:" + circle.getRadius());
System.out.println("修改后main方法中circle的引用" + circle);
System.out.println("修改后Circular方法中button的引用" + circular.bottom);

}
}


调试结果:

main方法中circle的引用Example2.Circle@659e0bfd

main方法中circle的半径20.0

circular圆锥中bottom的引用Example2.Circle@659e0bfd

circular圆锥的半径20.0

circular圆锥的体积:8373.333333333334

圆锥更改底部圆Bottom的半径:100.0

圆锥的buttom的半径:100.0

圆锥的buttom的体积:209333.33333333334

main方法中circle的半径:100.0

修改后main方法中circle的引用Example2.Circle@659e0bfd

修改后Circular方法中button的引用Example2.Circle@659e0bfd
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java class 数据