26. java面向对象 - static关键字

static可以修饰:属性、方法、代码块、内部类
static注意点:1.在静态方法内,不能使用this关键字、super关键字 
开发中,如何确定一个属性是否要声明为static?
>属性是可以被多个对象所共享的,不会随着对象的不同而不同
开发中,如何确定一个方法是否要声明为static的?
>操作静态属性的方法,通常设置为static
>工具类中的方法,习惯声明为static;比如:Math、Arrays、Collections
/**
 * @ Author HuQi
 * @ Date 2020/1/30 20:52
 * @ Version 1.0
 * ---------------------------
 */
public class CircleTest {
    public static void main(String[] args) {
        Circle c1 = new Circle();
        //1001
        System.out.println("c1的id是" +c1.getId());

        Circle c2 = new Circle();
        //1002
        System.out.println("c2的id是" +c2.getId());
        
        //2
        System.out.println("圆的个数" + Circle.getTotal());
    }
}

class Circle {
    private double radius;
    private int id;

    public double getRadius() {
        return radius;
    }

    public int getId() {
        return id;
    }

    public static int getTotal() {
        return total;
    }

    public static int getInit() {
        return init;
    }

    public Circle(){
        id = init++;
        total++;
    }

    public Circle(double radius){
        this();
        this.radius = radius;
    }

    //记录创建圆的个数
    private static int total;
    //圆的编号
    private static int init = 1001;

    public double findArea() {
        return 3.14 * radius * radius;
    }
}

posted @ 2020-01-30 21:04  qi.hu  阅读(98)  评论(0编辑  收藏  举报