对象的参数传递和匿名类

1 创建的匿名类对象只能调用一次。因为在创建的该对象放在堆内存中,在栈中无引用对象引用。所以下次再调用时,系统将其回收。

package lianxi1;

class Circle{
    int radius;
    public int getRadius(){
        return radius;
    }
    public void setRadius(int radius){
        this.radius = radius;
    }
    public double findArea(int radius){
        return Math.PI*radius*radius;
    }
    public void printCl(){
           System.out.println("可以打印");
       }
}


public class PassObject {
    
    //打印1到time的整数半径值,和对应面积
    public void printAreas(Circle c,int time){
        int i=1;
        while(i<=time){
            c.setRadius(i);
            System.out.println("i="+c.getRadius()+"		 Area="+c.findArea(i));
            i++;
        }
        c.setRadius(i);
    }
    public static void main(String[] args) {
        PassObject po = new PassObject();
        Circle c = new Circle();
        po.printAreas(c, 5);
        System.out.println("radius="+c.getRadius());
        //匿名类的使用
        //1. 用new Circle()设置半径以后,不能再用getRadius打印出该半径。
        po.printAreas(new Circle(), 8);
        new Circle().printCl();
        new Circle().setRadius(3);
        System.out.println("radius="+new Circle().getRadius());

    }

}
原文地址:https://www.cnblogs.com/yjtm53/p/4126511.html