java引用类型参数传值的两个很好的例子
2016-08-25 11:00
405 查看
java引用类型数据包括数组,接口,等等,当参数是引用类型时,“传值”传递的是变量中存放是“引用”,儿不是变量所引用的实体,下面有两个个很好的例子:
例子1:
首先写一个电池类,和收音机类
主函数:
下面是调试结果:
电池的存储电量是:100
收音机开始使用电池
收音机使用后的电量为:90
例子2
Circle类
Circular 类
主函数:
调试结果:
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
例子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对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序