对象和类
一 对象和类
- 类是模子,确定对象将会拥有的特征(属性)和行为(方法);
- 类是相同属性和方法的一组对象的集合;
- 类是对象的类型;
1. 属性
特定的值或特征。
2. 方法
对象执行的操作,就是能做什么。
3. 定义类
- JAVA程序都以类class为组织单元;
- 组成:属性和方法;
4. 成员变量与局部变量的区别
- 作用域不同;
- 初始值不同;Java会给成员变量默认一个初始值,而局部变量则不会;
- 同一个方法中不允许存在同名的局部变量名,而在不同方法中则可以;
- 就近原则;局部与成员同名了,优先取局部变量的值;
5. 构造方法
- 使用new + 构造方法,创建一个对象;即创建对象是调用类的构造方法;
- 构造方法名与类同名且没有返回值;
- 构造方法也是可以重载的;
6. static修饰符
可以修饰变量、方法、代码块。它会被该类的所有对象使用,当JVM第一次使用该类时,就会为其分配内存直到该类被卸载才会进行资源回收。
-
静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员;
-
在普通成员方法中,则可以直接访问同类的非静态变量和静态变量;
-
静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法;
-
静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量;可查看以下代码:
运行结果:
通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。
二 封装
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
1. 访问修饰符
2. this关键字