Java基础
三、面向对象(上)
3.1 概念
现实生活中存在各种形态不同的事物,这些事物之间存在着各种各样的联系,在程序中使用对象来映射现实中的事物,使用对象之间的关系来描述事物之间的联系,这种思想就是面向对象。
- 面向过程
分析出解决问题所需要的步骤,用函数把这些步骤一一实现,使用的时候依次调用。外界 - 面向对象
把构成问题的事物按照一定规则划分为多个独立的对象,通过调用对象的方法来解决问题。
面向对象的特性
- 封装性
将对象的属性和行为封装起来,不需要外界知道具体实现细节,这就是封装思想。 - 继承性
类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展。继承可以增强代码的复用性,提高开发效率。 - 多态性
指程序中允许出现重名现象,一个类中定义的属性和方法被其他类继承后,它们可以具有不同的数据类型或表现出不同的行为,这使得一个属性和方法在不同的类中具有不同的语义。
3.2 类与对象
- 类的定义
面向对象的思想中,最核心的就是对象。为了在程序中创建对象,首先需要定义一个类,类时对象的抽象,它用于描述一组对象的共同特征和行为。类中可以定义成员变量和成员方法,成员变量用于描述对象的特征,也称作属性;成员方法用于描述对象的行为,简称为方法。
class Person{
int age; //成员变量 用户描述对象特征
void speak(){
//成员方法 对象行为
}
}
脚下留心
定义在类中的变量称为成员变量,定义在方法中的变量被称为局部变量。如果在类中有同名的成员变量和局部变量,通过变量名直接访问到的是局部变量,而非成员变量.
class Person{
int age=10; //成员变量 用户描述对象特征
void speak(){
//成员方法 对象行为
int age=20;
System.out.println(age); //这里输出的一定是20
}
}
- 对象的创建与使用
//类名 对象名称=new 类名();
Person p;
p=new Person();
//new Person()用于创建类的一个实例对象
// Person p则是声明了一个Person类型的变量p
//中间的等号用于将Person对象在内存中的地址赋值给变量p
//这样变量p便持有了对象引用
对象没有被任何变量引用的时候,将成为垃圾对象,等待虚拟机的回收