对象作为参数传递的练习

(1)设置一个Cirlce 类,其中包含一个double类型的radius属性代表圆的半径。

包括一个findarea方法返回圆的面积。

(2)设置一个PassObject类,在类中定义一个printAreas方法,该方法的是指如下:

public void printAreas(Crilce c,int time){}//对象作为参数传递

在printAreas方法中打印出从1到time每个整数的半径值,以及以这个半径算出的面积。

例如:time为5,则输出1,2,3,4,5的半径以及他们对应的圆面积

然后在main方法中调用printAreas方法,调用完毕后再输出当前的半径值。

 

 

注意:可以使用匿名类对象

当我们只需要调用一次,我们就可以使用匿名的方式创建类的对象

特点:只能够调用一次。

 1 package com.cnblogs.exer;
 2 
 3 class Cirlce{
 4     double radius;//圆的半径属性
 5     public double findArea(){//设置一个方法计算圆的面积
 6         return Math.PI*radius*radius;
 7     }
 8     public double getRadius(){//获得半径
 9         return radius;
10     }
11     public void setRadius(double r){//设置半径
12         radius=r;
13     }
14 }
15 
16 public class PassObject {
17     public static void main(String[] args) {
18         PassObject po=new PassObject();
19         Cirlce c=new Cirlce();
20         po.printAreas(c, 5);//调用方法输出圆的半径和面积
21         System.out.println("now radius is:"+c.getRadius());

System.out.println();
       po.printAreas(new Cirlce();6);//使用了匿名类对象
       System.out.println("now radius is:"+c.getRadius());//输出结果是1-6的半径加各自的圆面积,但是now radius is=6,
//因为还是调用的c.getRadius,所以结果是6,由于是匿名类只能调用一次,所以我们没办法调用来获取当前的半径值7
22 } 23 //设置一个方法输出圆的半径和面积 24 public void printAreas(Cirlce c,int time){ 25 System.out.println("radius:"+"\t\t"+"Area:"); 26 int i=1; 27 while(i<=time){ 28 c.setRadius(i);//设置半径=i 29 System.out.println(c.getRadius()+"\t\t"+c.findArea()); 30 i++; 31 } 32 c.setRadius(i);//计算出当前的圆的半径值 33 } 34 }

运行结果:

加上一个匿名类的使用之后的运行结果:

 

("now radius is:"+c.getRadius());

posted @ 2015-08-31 18:30  云晴  阅读(631)  评论(0编辑  收藏  举报