封装和static关键字
1.封装
1.1封装的步骤
1.使用 private 关键字来修饰成员变量。
–pravate String name;
2.使用public修饰getter和setter方法。
–修饰getter和settter方法
2.static关键字
2.1静态变量
我们已经知道面向对象中,存在类和对象的概念,我们在类中定义了一些成员变量,例如name,age,sex ,结果发现这些成员变量,每个对象都存在(因为每个对象都可以访问)。
通俗说法:比如一个班级,学生的姓名年龄都是不一样的。所以都是各自定义的,但是如果是老师呢,每个学生都要赋值一个老师。是不是太麻烦了呢,是的
所以我们要定义一个公共的老师,让大家都是这个老师,张三是的,李四也是。所以就不需要都定义一遍,只要在类中声明就可以了。

1 | public static void main(String[] args){ |
2.2实例变量及其访问
无static修饰的成员变量属于每个对象的, 这个成员变量叫实例变量,之前我们写成员变量就是实例成员变量。
需要注意的是:实例成员变量属于每个对象,必须创建类的对象才可以访问。
2.3工具类
- 被static修饰的成员变量,叫做静态变量
- 被static修饰的成员方法,叫做静态方法

目前通常有三种类:
javabean类:用来描述一类事物的类。比如,Student,Teacher,Dog等。
测试类:用来检查其他类是否书写正确,带有main方法的类,是程序的入口。
工具类:不是用来描述一类事物的,而是帮我们做一些事情的类。

工具类注意:
—1.类名见名知意:比如加个Util代表工具类,如ArrUtil,
—2.私有化构造方法: 构造方法一旦私有,外界就不能创建这个类的 对象。(因为工具类是没有意义的,所以创建多个也没有用,用不到!)
—3.方法定义为静态;方便调用
2.4静态方法
与静态成员变量一样,静态方法也是直接通过类名.方法名称即可访问。

静态成员变量的访问:
格式:类名.静态方法
1 | public static void main(String[] args){ |
2.5小结
1.当 static 修饰成员变量或者成员方法时,该变量称为静态变量,该方法称为静态方法。该类的每个对象都共享同一个类的静态变量和静态方法。任何对象都可以更改该静态变量的值或者访问静态方法。但是不推荐这种方式去访问。因为静态变量或者静态方法直接通过类名访问即可,完全没有必要用对象去访问。(Student.study();)
2.无static修饰的成员变量或者成员方法,称为实例变量,实例方法,实例变量和实例方法必须创建类的对象,然后通过对象来访问。
3.static修饰的成员属于类,会存储在静态区,是随着类的加载而加载的,且只加载一次,所以只有一份,节省内存。存储于一块固定的内存区域(静态区),所以,可以直接被类名调用。它优先于对象存在,所以,可以被所有对象共享。
4.无static修饰的成员,是属于对象,对象有多少个,他们就会出现多少份。所以必须由对象调用。

3.重新认识main方法











