面向对象基础知识点
1.概念:
把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。对象即人对各种具体物体抽象后的一个概念。
类:是对某一类事物的抽象描述,是一种类型定义。如:犬类(即什么是)
对象:用于表示现实中该类事物的具体实例。如:狗、狼(即哪一个)
在编程中,类就是一种复杂的数据类型定义,对象是这个数据类型的一个具体实例,是拥有存储空间的一个实体。
2.面向对象的核心就是对象:
为了在程序中创建对象,首先需要定义一个类。
(1)类是所有对象的抽象描述,用于描述一组对象的共有特征和行为
(2)在类中
通过定义成员变量来描述对象特征(也称属性);
通过定义成员方法来描述对象的行为(简称方法);
通过构造方法来描述如何创建一个对象。
A.类的定义格式:
【修饰符】 class 类名{
【成员变量定义;】
【构造方法定义;】
【成员方法定义;】//【】是可选项
}
说明:
(1)
-
类可以定义在一个独立的类文件中(.java文件),也可以在一个类文件中定义多个类
-
修饰符:public、abstract、final等
(使用public修饰的类为公有类。一个类文件只能有一个公有类,且类文件的名字必须与公有类相同)
-
一个类中可以定义主方法main(),也可以不定义主方法,有主方法的类称为主类或程序类。
-
同一包下的类名不能重名。
(2)成员变量定义:
修饰符:public、private、default(缺省)、protected
- public:表示这个成员变量是公有的(公开使用)
- private:表示这个成员变量只能在自己的类中引用
- 缺省:同一包下的类可直接访问(朋友可用)
- protected:不同包但必须有继承关系可用
(3)成员方法定义:
(即方法的定义,用于描述类的行为)
【修饰符】 返回值类型 方法名([参数类型1 参数名1[,参数类型2 参数名2[,...]]]){
执行语句;
return 返回值;
}
eg:
class Person{
int age;
String name;
void speak(){
System.out.println("大家好,我是"+name+",我今年"+age+"岁");
}
}
说明:定义一个Person类,Person是类名;age、name是成员变量;speak()是成员方法。在成员方法speak()中可以直接访问成员变量age、name。(在Test01类定义之后定义一个类Person类)
B.对象的创建与使用
(1)对象的创建格式
一般我们要定义一个类的变量来引用这个对象。
类名 对象名;
对象名=new 类名();
类名 对象名=new 类名();//较常用
eg:要创建一个Person对象:Person P=new Person();
(2)对象存储的数据结构
- “Person P” 是声明了一个Person类型的变量P,P存放一个存储空间地址
- "new Person()"用于创建Person类的一个实例对象
- "="将Person对象在内存中的地址赋给变量P,这样P就可以引用这个对象
(3)对象引用
格式:
- 成员变量引用:对象名.成员变量名
- 方法引用: 对象名.成员方法名(参数值列表)
说明:对象与成员之间以圆点"."分割,对象的创建和引用,一般写在主方法main()中。
例如:在类的主方法中创建对象并引用
public class