对象的练习

对象的创建和使用练习

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)特点是创建的匿名类的对象

posted @ 2018-12-13 23:07  T&K  阅读(210)  评论(0编辑  收藏  举报