对象的练习
对象的创建和使用练习
public class TestCar { public static void main(String[] args) { Car c1=new Car(); c1.info(); /*c1.setName("保时捷"); c1.setWheel(4);(使用方法调用的方式来输出,和调用属性的方法输出结果一样)*/ //调用属性的方法 c1.name="保时捷"; c1.wheel=4; c1.info(); Factory f=new Factory(); Car c2=f.produceCar(); f.describeCar(c2); Car c3=f.produceCar("路虎",6); f.describeCar(c3); } } class Factory{ //制造车(下面两个方法构成重载) public Car produceCar(){ return new Car();//调用car这个类 } public Car produceCar(String n,int w){ Car c=new Car(); c.name=n; c.wheel=w; return c; } //描述车的信息 public void describeCar(Car c){ c.info(); } } class Car { //1.属性 String name; int wheel; //2.方法 public void info() { System.out.println("name" + name + "wheel" + wheel); } public void show() { System.out.println("我是一辆车"); } public String getName() { return name; } /*public void setName(String name) { this.name = name; } public void setWheel(int wheel) { this.wheel = wheel; }使用调用方法的方式*/ }
对象作为参数传递的练习
public class Passobject { public void printAreas(Circle c,int time){ System.out.println("radius"+"\t\t"+"Area"); int temp=0; for (int i=1;i<=time;i++,temp=i){ c.setRadius(i); System.out.println(c.getRadius()+"\t\t"+c.findArea()); } c.setRadius(temp); } } class Circle{ double radius; public double findArea(){ /*double s=Math.PI*radius*radius; return s;调用属性*/ double s=Math.PI*getRadius()*getRadius(); return s;//调用方法 } public double getRadius() { return radius; } public void setRadius(double radius) { this.radius = radius; } public static void main(String[] args) { Passobject p=new Passobject(); Circle c=new Circle();//此时半径为0 p.printAreas(c,5); System.out.println("now radius is:"+c.getRadius()); } }
1.匿名类对象(创建类的对象可以没有名字):创建类的对象是匿名的
(1)当我们只需要一次调用类的对象时,我们就可以考虑使用匿名的方式创建类的对象
(2)特点是创建的匿名类的对象