面向对象
面向对象是学习 Java 一种非常重要的开发思想,但是面向对象并不是 Java 所特有的思想,这里大家不要搞混了。
下面我们来探讨面向对象的思想,面向对象的思想已经逐步取代了过程化的思想 — 面向过程,Java 是面向对象的高级编程语言,面向对象语言具有如下特征
-
面向对象是一种常见的思想,比较符合人们的思考习惯;
-
面向对象可以将复杂的业务逻辑简单化,增强代码复用性;
-
面向对象具有抽象、封装、继承、多态等特性。
面向对象的编程语言主要有:C++、Java、C#等。
所以必须熟悉面向对象的思想才能编写出 Java 程序。
类也是一种对象
现在我们来认识一个面向对象的新的概念 — 类,什么是类,它就相当于是一系列对象的抽象,就比如书籍一样,类相当于是书的封面,大多数面向对象的语言都使用 class
来定义类,它告诉你它里面定义的对象都是什么样的,我们一般使用下面来定义类
class ClassName {
// body;
}
代码段中涉及一个新的概念 //
,这个我们后面会说。上面,你声明了一个 class 类,现在,你就可以使用 new 来创建这个对象
ClassName classname = new ClassName();
一般,类的命名遵循驼峰原则
,它的定义如下:
骆驼式命名法(Camel-Case)又称驼峰式命名法,是电脑程式编写时的一套命名规则(惯例)。正如它的名称 CamelCase 所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。
对象的创建
在 Java 中,万事万物都是对象。这句话相信你一定不陌生,尽管一切都看作是对象,但是你操纵的却是一个对象的 引用(reference)
。在这里有一个很形象的比喻:你可以把车钥匙和车看作是一组对象引用和对象的组合。当你想要开车的时候,你首先需要拿出车钥匙点击开锁的选项,停车时,你需要点击加锁来锁车。车钥匙相当于就是引用,车就是对象,由车钥匙来驱动车的加锁和开锁。并且,即使没有车的存在,车钥匙也是一个独立存在的实体,也就是说,你有一个对象引用,但你不一定需要一个对象与之关联,也就是
Car carKey;
这里创建的只是引用,而并非对象,但是如果你想要使用 s 这个引用时,会返回一个异常,告诉你需要一个对象来和这个引用进行关联。一种安全的做法是,在创建对象引用时同时把一个对象赋给它。
Car carKey = new Car();
在 Java 中,一旦创建了一个引用,就希望它能与一个新的对象进行关联,通常使用 new
操作符来实现这一目的。new 的意思是,给我一个新对象
,如果你不想相亲,自己 new 一个对象就好了。祝你下辈子幸福。
属性和方法
类一个最基本的要素就是有属性和方法。
属性也被称为字段,它是类的重要组成部分,属性可以是任意类型的对象,也可以是基本数据类型。例如下
class A{
int a;
Apple apple;
}
类中还应该包括方法,方法表示的是 做某些事情的方式。方法其实就是函数,只不过 Java 习惯把函数称为方法。这种叫法也体现了面向对象的概念。
方法的基本组成包括 方法名称、参数、返回值和方法体, 下面是它的示例: