1. 类
类中定义了属性和方法,即对某个事物的静态描述和动态描述(也叫做成员变量、成员方法或者静态属性、动态特征),是概念化的规范,是对对象实体的抽象化定义。
2. 对象
对象是根据类中定义的成员变量和成员方法实例化出来的一个实体,是对类的实现过程。
区别:
- 定义类,只会在内存中的方法区开辟内存空间来存放该类的定义,引用链接符等。
- 实例化对象会在堆内存空间中开辟真正的内存空间来存放类中定义的各种属性和各种方法引用链接。
3. 类的定义
对象是对类的具体实现。
一个*.java源文件最多只能有一个public修饰的class,一旦有,则文件名必须和public修饰的类名保持一致。
定义类的方式(通过class关键字):
[public] class 类名称{
// 声明成员变量
[访问控制符] [修饰符] 数据类型 成员变量名称;
// 定义成员方法等
……
}
4. 如何使用一个目标类?
目标类中的成员变量和成员方法,要想使用这些,则必须创建目标类的实例对象,通过实例对象去使用目标类中的成员。
使用new关键字去创建目标类的实例:
目标类名称 对象名称 = new 目标类名称();
比如Person是一个类,则创建Person类的对象如下:
Person person = new Person();
5. 方法的定义
访问控制符(public,protected,default,private) 修饰符(static,synchronized,final,abstract等) 返回值类型 方法名称(类型 参数1,类型 参数2,….类型 参数n){
语句;
[return 表达式;]
}
注意:Java中的方法不允许嵌套,所谓方法嵌套,即在一个方法中去定义另外一个方法。
具体如下:
访问控制符(public,protected,default,private) 修饰符(static,synchronized等) 返回值类型 方法名称(类型 参数1,类型 参数2,….类型 参数n){
语句;
// 方法内部定义其他方法,这在java中是违法的。
访问控制符(public,protected,default,private) 修饰符(static,synchronized等) 返回值类型 方法名称(类型 参数1,类型 参数2,….类型 参数n){
语句;
[return 表达式;]
}
[return 表达式;]
}
6. 调用方法
- 调用非静态的方法必须实例化目标类的对象,通过“对象名称.方法名称”的方式调用目标类的方法;
- 调用静态的方法通过通过“目标类名.方法名称”的方式调用目标类中的方法。
上述方式同样适用于对类中成员变量的调用。
7. 构造方法定义
构造方法是特殊的成员方法,其定义如下:
[访问权限] 类名称(类型1 参数1,类型2 参数2,…..类型n 参数n){
程序语句;//构造方法返回的是当前对象创建后的引用地址;
}
8. 构造方法作用
构造方法作用:
- 实例化对象。
- 初始化成员变量(如果使用构造方法实例化对象的同时指定了成员变量的值,JVM则在“加载、链接、初始化”的初始化阶段直接设置此处指定的值来为成员初始化,不再初始化为默认值)。
9. 构造方法和普通方法的区别
- 构造方法的名称必须和类的名称相同;
- 构造方法除了有访问控制符,其他的修饰符一律没有;
- 构造方法的声明处不能有任何返回值类型的声明;
- 构造方法体中不能使用return返回一个值(但实际上构造方法返回的是对象的地址)。
文档信息
- 本文作者:Marshall