8.4 属性

类是一类事物的抽象,类的属性就是用来描述这个事物。类的属性是这样的:
1.属性的定义就类似定义变量,定义的位置在class的大括号下,不能定义在任何函数里面,那就变成函数的内部变量了。
2.属性值可以被类里面的方法(方法就是函数)读取、修改。
这部分下一节会介绍。
public class Mobile{
    String name;
    String mon;
}
属性是在有对象的情况下才有意义的,所以要修改某个属性,也必须是修改某个对象的属性。
public class Mobile{
    String name;
    String mon;
    public static void main(String[]args){
        Mobile mobile1=new Mobile();
        mobile1.name="iphone 7 plus";
        Mobile mobile2=new Mobile();
        mobile2.name="华为Mate pro20";
    }
}
上面代码出现的".",我们并不陌生,在System.out.println()里面我们就多次使用,我们可以直接用“的”来理解。
例如上面的mobile.name就理解为“mobile的name“。
在编程环境(例如eclipse中)对象之后接一个点“.”,如果这个对象有可以访问的属性和方法,那么就会弹出一个框,如下图:
mobile1的name属性和mobile2的name属性是互相独立的。只有对象被定义后,分配了内存,属性才能存在。 还有一种属性,是所有对象共享的,这类属性需要在前面加关键字static,称为静态属性,而对应的,上面提到的就是非静态属性,下面的T就是静态属性,关于静态属性,后面章节有更详细的讲解。
public class Mobile{
    String name;
    String mon;
    static String T;
}
类的属性是怎么设计的呢?属性是用来描述这个类的,例如学生,可能需要学号、姓名、班级这些信息,可是还有很多,例如身高、体重、籍贯、党员、家庭住址,父母联系电话等等。到底设计一个类,需要多少个属性,才够准确呢? 简单的说,要看这个类用在什么环境,环境需要用的属性,这个类就要有。例如这个学生类,是在一个真实的学籍管理系统里,那恐怕上面的属性还是不够的,但假如这个学生类,只是我们用来学习类的设计的一个例子,那么随便一个学号、班级、姓名就够了。也就不需要抽象出这么多属性了。