一. 面向对象的基本概念
1. 对象和类
不同的物体可能具有相同的特性,我们将一类对象的共性抽象出来,形成一个模型,就是类。
所以类就是一组具有相同特性的对象的抽象化模型。
如,两个人都具有人的特性,可以抽象化为“人”类,但对于每一个具体的人,就是“人”类中的一个实例,即一个对象。
2. 面向对象的特点
1> 封装性
指把类的基本成分(包括数据和方法)封装在类体之中,使类与外界分隔开;
2> 继承性
3> 多态性
多态性是指一个类中不同的方法具有相同的名字。通过方法重载和方法覆盖实现多态性。
方法重载是指多个方法具有相同的名字,但参数的个数或者类型不同。方法的覆盖是指在继承过程中,子类重新定义父类的方法。
二. 类的定义
1. 类的声明
基本格式:
[修饰符] class 类型{
//成员变量的定义
//方法的定义
}
1>.类的修饰符:访问控制类的修饰符、抽象类说明符、最终类的说明符、内部类的说明符
2>.关键字class引导一个类的声明,类名是一个标识符,一般要求单词首字母大写
三. 对象的创建和使用
1. 对象创建的步骤
- 分配空间------------------------------------------------默认值
- 初始化属性---------------------------------------------初始值
- 调用构造方法------------------------------------------第三次赋值
使用new运算符和类的构造方法为声明的对象分配内存,也称为实例化对象。如果类中没有构造方法,系统会调用默认的构造方法。
如创建obj对象
Person obj = new Person();
2.对象的使用
引用成员变量的形式:
对象名.成员变量名
引用成员方法的形式:
对象名.成员方法名(参数表)
四.方法
1.方法的定义
形式:
[修饰符] 返回类型 方法名 ([参数列表]){
方法体;
return语句;
}
五.构造方法
构造方法就是给属性赋值。
构造方法的定义:
[修饰符] 类名 ([参数列表]){
//方法体
}
构造方法的特性
- 构造方法的名字必须和定义它的类名完全相同,没有返回类型,连void也没有
- 构造方法的调用是在创建一个对象时使用new操作进行的。 构造方法的作用是初始化对象。
- 每个类可以有零个或多个构造方法,如果没有构造方法,则系统会默认地添加一个构造方法,这个默认的构造方法无参数,并且方法体为空。
- 构造方法不能被子类所继承
- 构造方法在初始化对象时自动执行,一般不能显式地直接调用。在对象构造过程中自动调用一次。
六.类变量
用static修饰的变量时静态变量。静态变量与其他成员变量有区别,其他成员变量必须通过类的对象来访问,静态变量独立于该类中的任何对象。static变量通常也称为全局变量
变量按照类型划分:
简单变量:存值
对象变量(引用):存地址
java中参数的传递规则:
简单类型的参数:传值
对象类型的参数:传地址 传引用 实参和形参指向同一对象。