目录
一、面向对象学习的三条主线
- Java类及类的成员:属性、方法、构造器;代码块、内部类
- 面向对象的大特征:封装性、继承性、多态性、(抽象性)
- 其它关键字:this、super、static、final、abstract、interface、package、import等
二、面向对象与面向过程
面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。
面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。
举例对比:人把大象装进冰箱。
三、面向对象完成一个项目的思路
- 根据问题需要,选择问题所针对的现实世界中的实体。
- 从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。
- 把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构。
- 将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。
四、类与对象
1.类
a.类:对一类事物的描述,是抽象的、概念上的定义。
b.类的成员:现实世界的生物体,大到鲸鱼,小到蚂蚁,都是由最基本的细胞构成的。同理,Java代码世界是由诸多个不同功能的类构成的。现实生物世界中的细胞又是由什么构成的呢?细胞核、细胞质、… 那么, Java中用类class来描述事物也是如此。常见的类的成员有:
- 属 性:对应类中的成员变量
- 行 为:对应类中的成员方法
c.类的语法格式:
修饰符 class 类名 {
属性声明;
方法声明;
}
说明:
- 修饰符public:类可以被任意访问。修饰符一共有四种,在后面的学习中学到。
- 类的正文要用{ }括起来
- 这只是一个简单类的语法格式,后面的学习中会学到构造器、代码块、内部类等类的结构。
public class Person {
// 属性
String name;
// 方法
public void info() {
System.out.println(name);
}
}
2.对象
对象:是实际存在的该类事物的每个个体,因而也称为实例(instance)
3.总结
可以理解为:类 = 抽象概念的人;对象 = 实实在在的某个人
- 面向对象程序设计的重点是类的设计
- 设计类,就是设计类的成员。
类与对象二者的关系:对象,是由类new出来的,派生出来的。
补充:几个概念的使用说明
- 属性 = 成员变量 = field = 域、字段
- 方法 = 成员方法 = 函数 = method 【函数是C语言中的概念】
- 创建类的对象 = 类的实例化 = 实例化类
五、面向对象思想落地实现的规则一
- 创建类,设计类的成员
- 创建类的对象
- 通过“对象.属性”或“对象.方法”调用对象的结构
六、对象的创建与使用
创建对象语法: 类名 对象名 = new 类名();
使用“对象名.对象成员”的方式访问对象成员(包括属性和方法)
public static void main(String[] args) {
// 对象的创建
Person p1 = new Person();
Person p2 = new Person();
// 对象的使用,给对象的属性赋值
p1.name="Tom";
p2.name="June";
// 对象的使用,调用对象的方法
p1.info();//Tom
p2.info();//June
}
说明:
如果创建了一个类的多个对象,则每个对象都独立的拥有一套类的属性。(非static的)
意味着:如果我们修改一个对象的属性a,则不影响另外一个对象属性a的值。
七、匿名对象
1.概念
我们创建的对象,没显式的赋给一个变量名。
创建匿名对象语法: new 类名().对象成员;
2.特点
匿名对象只能调用一次。
3.举例
public static void main(String[] args) {
new Person().name="Tom";
new Person().info();//null
}
八、理解"万事万物皆对象"
1.在Java语言范畴中,我们都将功能、结构等封装到类中,通过类的实例化,来调用具体的功能结构
- >Scanner,String等
- >文件:File
- >网络资源:URL
2.涉及到Java语言与前端Html、后端的数据库交互时,前后端的结构在Java层面交互时,都体现为类、对象。