面向对象和面向过程的区别
众所周知,Java是种面向对象编程,在学习类和对象时,我们先来了解一下什么是面向对象编程。
面向过程(如:C语言)

面向过程的语言也称为结构化程序设计语言,是高级语言的一种。在面向过程程序设计中,问题被看作一系列需要完成的任务,函数则用于完成这些任务,解决问题的焦点集中于函数。其概念最早由E.W.Dijikstra在1965年提出,是软件发展的一个重要里程碑。它的主要观点是采用自顶向下、逐步求精的程序设计方法,使用三种基本控制结构构造程序,即任何程序都可由顺序、选择、循环三种基本控制结构构造

面向对象(如:Java、C++)

面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化。

简单来说,面向过程注重的是过程,在整个过程中所涉及的行为,就是功能。

面向对象注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来。

面向对象概念
面向对象是思考问题的一种思考方式,是一种思想。比如:概念与实例。理论与实践。名和实等等。
类就是一类对象的统称。对象就是这一类具体化的一个实例。
面向对象的好处:将复杂的事情变简单了,只要面对一个对象就行。
简而言之

面向对象就是用代码(类)来描述客观世界的事物的一种方式. 一个类主要包含一个事物的属性和行为。

类与对象的关系

类其实就是一个模板,比如说类就好比一张房子的设计图纸,或者说是一个倒印模具,创建一个类就好比设计一张图纸,刻一个模板。对象就好比一座建好的房子,一个成型的模型,无疑想要一座房子或者一个模型都先需要一张图纸和一个模板,而这就是类和对象的关系。

类的创建

声明一个类就是创建一个新的数据类型,而类在 Java 中属于引用类型, Java 使用关键字 class 来声明类。我们来看以下简单的声明一个类

class Person {		//使用class创建一个Person类
    public int age;//成员属性 
    public String name;// 成员属性
    public String sex;//成员属性
   }

我们这里这是创建了一个类,并没有把这个类实例化,类就像是设计图,只设计出需要什么东西,但是并没有实体的建筑存在,同样类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空间。

类只是一个模型一样的东西,限定了类有哪些成员.
一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量

那么怎么将类实例化呢?

这时候我们就要通过另一个关键字new来将类实例化,用类类型创建对象的过程,称为类的实例化。

类的实例化

  1. new 关键字用于创建一个对象的实例.
  2. 使用 . 来访问对象中的属性和方法.
  3. 同一个类可以创建对个实例.
Person person = new Person();
Person person1 = new Person();
Person person2 = new Person();

通过new关键字创建的实例化我们称为实例化对象,而用类类型创建的变量我们称之为对象的引用,通过对象引用可以找到实例化对象。我们可以通过 对象引用.成员变量/成员方法 来调用类里面创建的变量及方法。

一个类可以产生无数的对象,类就是模板,对象就是具体的实例。

类中定义的属性,大概分为几类:类属性,对象属性。其中被static所修饰的数据属性称为类属性, static修饰的方法称为类方法,特点是不依赖于对象,我们只需要通过类名就可以调用其属性或者方法。