作为java一个重要的编程思维,面向对象有着和面向过程同等重要的地位,首先我能来通过一个例子了解一下两种思维的不同。
就比如把大象放到冰箱这个经典的问题,面向过程的思维就是三步,1.把冰箱门打开2.把大象放到冰箱里3.关上冰箱门。
面向对象的思维就是:1.定义一个大象对象2.定义一个冰箱对象3.定义一个手对象,通过对象与对象之间的交互完成问题,至于手是如何把冰箱打开的,我们并不关心。两种思维方式没有好坏之分,对应不同的应用场景有各自的优势。
因此类和对象就因为这种编程思维诞生了,首先是类的定义:
class ClassName{
field; // 字段(属性) 或者 成员变量
method; // 行为 或者 成员方法
}
对象是通过类的实例化诞生的:
class PetDog {
// 狗的属性
public String name;//名字
public String color;//颜色
// 狗的行为
public void barks() {
System.out.println(name + ": 旺旺旺");
}
public void wag() {
System.out.println(name + ": 摇尾巴");
}
}
public class Main{
public static void main(String[] args) {
PetDog dog = new PetDog(); //通过new实例化对象
dog.name = "泰迪";
dog.color = "黄";
dog.barks();
dog.wag();
}
这两者之间的联系就像类是图纸,对象是通过图纸建造的房子,一张图纸可以建造多栋楼,这也说明了类的一个特征——多次实例化创建多个对象。
下图是常用的基本知识框架供初学者参考学习(还需不断补充):