参数传值(Example4_7.Example4_8,Example4_9)

class Tom{
 void f(int x,double y){
  x=x+1;
  y=y+1;
  System.out.printf("参数x和y的值分别是:%d,%3.2f\n",x,y);
 }
 }
 public class Example4_7{
 public static void main(String arg[]){
  int x=10;
  double y=12.58;
  Tom cat=new Tom();
  cat.f(x,y);
  System.out.printf("main方法中x和y的值仍然分别是:%d,%3.2f\n",x,y);
 }
}

class Jerry{
 int leg;
 Jerry(int n){
  leg=n;
 }
 void setLeg(int n){
  leg=n;
 }
 int getLeg(){
  return leg;
 }
 }
 class Tom{
  void f(Jerry mouse){
   mouse.setLeg(12);
   System.out.println("在执行方法f时,参数mouse修改了自己的leg的值");
   System.out.println("当前参数mouse的成员leg的值:"+mouse.getLeg());
   mouse=null;
   //mouse.setLeg(12);
  }
 }
 public class Example4_8{
 public static void main(String arg[]){
  Tom cat=new Tom();
  Jerry jerry=new Jerry(2);
  System.out.println("在调用方法f之前,jerry的成员leg的值:"+jerry.getLeg());
  cat.f(jerry);
  System.out.println("在调用方法f之前,jerry的成员leg的值:"+jerry.getLeg());
 }
}

class Circle{
 double radius;
 Circle(double r){
  radius=r;
 }
 double computerArea(){
  return 3.14*radius*radius;
 }
 void setRadius(double newRadius){
  radius=newRadius;
 }
 double getRadius(){
  return radius;
 }
 }
 class  Cone{
  Circle bottom;
  double height;
  Cone(Circle c,double h){
   bottom=c;
   height=h;
  }
  double computerVolume(){
   double volume;
   volume=bottom.computerArea()*height/3.0;
   return volume;
  }
  void setBottomRadius(double r){
  bottom.setRadius(r);
  }
  double getBottomRadius(){
    return bottom.getRadius();
   }
  }
  
  public class Example4_9{
 public static void main(String arg[]){
  Circle circle=new Circle(8);
  Cone circular=new Cone(circle,18);
  System.out.println("circular的bottom半径:"+circular.getBottomRadius());
  System.out.println("circular的体积:"+circular.computerVolume());
  circular.setBottomRadius(88);
  System.out.println("circular的bottom半径:"+circular.getBottomRadius());
  System.out.println("circular的体积:"+circular.computerVolume());
 }
}

原文地址:https://www.cnblogs.com/wangchunmeix/p/2976878.html