1. 面向对象
Java 是面向对象的编程语言,对象就是面向对象程序设计的核心。其基本思想是使用对象、类、继承、封装、多态等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。对象有以下特点:
对象具有属性和行为。
对象具有变化的状态。
对象具有唯一性。
对象都是某个类别的实例。
一切皆为对象,真实世界中的所有事物都可以视为对象。
简单来说,自然世界中的每一个个体都是一个对象,而每一个个体又都不一样,有的黑皮肤,有的黄皮肤,有的白皮肤,有的长头发,有的短头发,高矮胖瘦各不相同。
但是因为我们都有相同的一些特性,比如会讲话,有手有脚,有五官,是哺乳动物,正因为我们这些共同点,所以我们共同属于一个种类——人类。人类,就是人的总称,也是相似对象的一种抽象。
每一个人都是人类的特例,所以说类的具体表现或者实例就是对象,而对象的抽象就是类。
对象是由类创建的,先有类,才有对象,对象是由类实例化的。
2.类
2.1 类是具有相同属性和方法的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和方法两个主要部分。
2.2 Java中的类实现包括两个部分:类声明和类体。
2.2.1 类声明
[public][abstract|final] class className [extends superclassName] [implements interfaceNameList]{……}
其中,修饰符public,abstract,final 说明了类的属性,className为类名,superclassName为类的父类的名字,interfaceNameList为类所实现的接口列表。
2.2.2类体
class className{
[public | protected | private ] [static] [final] [transient] [volatile] type variableName;//成员变量
[public | protected | private ] [static] [final | abstract] [native] [synchronized] returnType methodName([paramList]) [throws exceptionList]{
statements
}//成员方法
}
成员变量限定词的含义:
static: 静态变量(类变量)
final: 常量;transient: 暂时性变量,用于对象存档,用于对象的串行化
volatile: 贡献变量,用于并发线程的共享
2.3方法的实现也包括两部分内容:方法声明和方法体。
2.3.1方法声明:
方法声明中的限定词的含义:
static: 类方法,可通过类名直接调用
abstract: 抽象方法,没有方法体
final: 方法不能被重写
native: 集成其它语言的代码
synchronized: 控制多个并发线程的访问
2.3.2方法体
方法体是对方法的实现,它包括局部变量的声明以及所有合法的Java指令。方法体中声明的局部 变量的作用域在该方法内部。若局部变量与类的成员变量同名,则类的成员变量被隐藏。
2.4构造方法
构造方法是一个特殊的方法。Java 中的每个类都有构造方法,用来初始化该类的一个对象。
构造方法具有和类名相同的名称,而且不返回任何数据类型。
重载经常用于构造方法。
构造方法只能由new运算符调用。