Java入门(二)
2017/9/26
by
CHENJING DING
CHAPTER1 – java中的类和对象
面向对象
什么是类
类是对象的类型。
是具有相同属性和方法的一组对象的集合。
什么是对象的属性
属性:对象的各种特征,也可以称为成员变量。 每个对象的每个属性都拥有特定值。
什么是对象的方法
对象执行的操作
如何定义类
所有的java程序都以类class为组织单元。步骤如下:
1. 定义类名:public class 类名{}//类名首字母大写
2. 编写类的属性,即成员变量。
{
属性1的类型 属性1;
…
}
3. 编写类的方法
{
方法1;
…
}
如何使用java中对象
使用对象步骤:
创建对象
类名 对象名 = new 类名();
使用对象
对象名.属性
Java中的成员变量和局部变量
成员对象
类中定义,可以本类中所有方法使用
局部对象
在类的方法中定义,暂时保存一些数据,只能在当前方法中使用
区别
作用域 | 局部变量 | 仅限于定义它的方法 |
成员变量 | 整个类的内部都是可见的 | |
初始值 不同 | 局部变量 | Java不会给局部变量一个初始值 |
成员变量 | Java会给成员变量一个初始值 | |
其他注意 | 同一个方法中,不允许有同名的局部变量,在不同的方法中,可以有同名的局部变量 | |
两类变量同名时,局部变量具有跟高的优先级 |
Java中的构造方法
1. new + 构造方法:创建一个新的对象;
2. 用来初始化对象的方法;
3. 构造方法与类名相同,没有返回值类型,可以有参数也可以无参数。
4. 当没有指定构造方法时,系统会默认生成无参的构造方法;
5. 当有指定的构造方法时,无论是有参,无参,都不会自动添加无参的构造方法
Java中的静态变量
目的
该类所有的对象共享同一个成员
定义
static String hobby=”badminton”;//关键字是static,可以修饰变量,方法,和代码块。
使用
类名访问或对象名访问(推荐使用类名访问),见下图:
生命周期
系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收
Java中的静态方法
同类中使用静态变量或者静态方法
静态方法与非静态方法的比较如下:
同类静态成员变量 | 静态方法 | 可以直接调用 |
|
普通成员方法 | 可以直接调用 |
| |
同类非静态成员变量 | 静态方法 | 不可以直接调用 | 需要通过创建类的对象,然后通过对象来访问非静态变量 |
普通成员方法 | 可以直接调用 |
| |
其它 | 静态方法不能直接调用非静态方法,需要通过对象来访问非静态方法 |
以上表格总结:静态方法不能直接调用同类中非静态成员变量和非静态方法,都需要通过对象来访问。普通成员方法可以调用同类中的所有成员变量和成员方法。
外部使用静态变量或者静态方法:
在类的名字后面加点号运算符即可访问;
Java中的静态初始化块
Java 中可以通过初始化块进行数据赋值,如下图:
在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。
定义
如果使用 static 修饰初始化块,就称为静态初始化块。
初始化块的执行顺序
静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法,如下图所示:
由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。