类与对象
类的声明
1.类定义了一种新的数据类型,是具有相同特征(属性)和共同行为(方法)的一组对象的集合。类的声明就是定义一个类,语法格式如下:
[访问符] [修饰符] class {
[属性]
[方法]
}
2.类名通常有一个或多个有意义的单词连缀而成,每个但词首字母大写,其他字母小写,例如:PersonBase、DataDao。
3.访问符用于指明类、属性或方法的访问权限,可以是public(共),static(静态),final(最终),private(私有)或默认。
4.属性(成员变量)用于描述对象特征,如,每一个人类对象都有姓名、年龄和体重,这都是人类具备的特征。
5.方法(类的行为)也称成员变量,是对象能够进行的操作,如,每一个人类对象都需要说话,说话就是一个方法(类的一个行为)。
创建对象
6.创建对象需要使用new关键字:
类名 对象名 = 类名 ()
例如:
Person p = new Person ();
也可以分开写:
Person p;
p = new Person ();
7.new关键字为对象动态分配(也就是在运行时分配)内存空间,并返回它的一个引用.
8.上述代码创建一个类的对象都经过如下两步:
- 定义类的一个对象(即声明类的一个变量),此时在栈上会分配内存空间用来存储对象在堆中的地址(即对象的引用);
- 创建该对象的实际物理空间,即在堆中为该对象分配空间,并把此空间的地址(即引用)赋给该队象(变量),new关键字在此步骤发生作用。
9.声明对象后,若不想给对象分配存储空间,则可使用null关键字给对象赋值,例如:
Person p = null;
nul表示“空”,用于标识一个不确定的对象,即该对象的引用为空。null可赋给引用类型变量,不可赋给基本类型变量,例如:
int num = null; //错误
Person p = null; //正确
null能表示不确定的对象,但null不是对象,也不是类的实例。null另一个用途是释放内存,当一个非null的对象不再使用时可让其指向null来加快内存回收。
10.访问对象的属性:格式是“对象名 . 属性名”;
调用对象的方法:格式是“对象名 . 方法名 ( )”.
例如:
>p.display();
11.下述代码演示Person对象的创建及使用过程:
public class PersonDemo{
public ststic void main(String[] args){
//创建Person类的一个对象p
Person p = new Person();
//使用对象p,调用display()方法显示对象各成员变量的默认值
p.display();
}
}
运行结果如下:
姓名:null,年龄:0,地址:null