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()); } }