目录
5.1 类和对象
5.1.1 定义类
类:
[ 修饰符 ] class 类名
{
≥0个构造器定义...
≥0个成员变量定义...
≥0个方法定义...
}
修饰符:①对类:public/final/abstract/无;
类名:≥1个单词连缀(大写首字母)
成员变量:
[修饰符] 类型 成员变量名 [=默认值]
修饰符:对成员变量:public/protected/private/无+/final/static/无
类型:基本类型和引用类型(类,也是一种引用数据类型)
方法:
[修饰符] 方法返回类型 方法名(形参列表)
修饰符:public/protected/private/无+abstract/final/无+static/无
方法返回类型:基本类型和引用类型
方法名:建议以英文动词开头
形参列表:参数类型1 形参名1,参数类型2 形参名2,...
构造器:
[修饰符] 构造器名(形参列表)
{
// ≥0条可执行语句组成的构造器执行体
}
修饰符:public/protected/private/无
构造器名:与类名相同
形参列表:与方法相同
【static:有static修饰的成员属于类本身,没有static修饰的成员属于该类的实例;静态成员无法直接访问非静态成员;】
5.1.2 对象的产生和使用
创建对象的根本途径是通过构造器,通过new关键字调用某个类地构造器,可创建这个类的实例
Person p = new Person( );//定义p变量的同时为p变量赋值
定义引用类型的局部变量为其指定了初始值
var p = new Person( );//可读性更强
【没有static修饰的普通方法和成员变量,只能通过实例来调用】
5.1.3 对象、引用和指针
- 引用变量里面存放的仅仅是一个引用(指针,存放在栈内存),它指向实际对象(存放在堆内存);
- 当实际对象没有被引用时,Java的垃圾回收箱会释放该内存,所以通知垃圾回收箱回收某个对象,就是把引用变量赋值为null。
5.1.4 对象的this引用
- this最大的作用:让类中的一个方法访问该类的另一个方法或实例变量;
(比如同一类中的两个普通方法互相调用)
- this在构造器中代表该构造器正在初始化的对象;
- 不能使用this引用static修饰的方法(报错),而是应该用类去调用static,因为静态成员不能直接访问非静态成员;
- this前缀可省略;
- 方法中局部变量同名与成员变量同名,要使用被覆盖的成员变量,就必须使用this前缀