1.面向对象程序设计(Object Oriented Programming ,OOP;Object Oriented Design ,OOD)
2.类:类是一个抽象的概念,类中包含成员属性和方法。类相当于一个模板,
OOP中的关键在于类的设计和制订标准接口:即class和interface
3.对象:对象是类的具体实现,是一个具体的概念。
4.类所包含的内容:
a) 属性(Property) 即数据
b) 方法(Method) 即对数据的操纵
5.面向对象程序设计三大基本特征
a) 封装(Encapsulation)
b) 继承(Inheritence)
c) 多态(Polymorphism)
6.封装:将数据和方法在在一个类中就构成了封装。可以简单理解为保护数据和保证整体性操作
7.类的定义
修饰符 class 类的名称
{
// 属性和方法定义
}
8.方法的定义
修饰符 返回类型 方法名称(参数1、参数2、参数三...)
{
方法体
}
备注:方法不能嵌套,即一个方法中不能再定义一个方法,可以通过调用
9.如何生成对象
a) new Class(): 这是最常见的方式
b) 使用反射机制的newInstance()
c) 使用Spring 的IOC容器,本质也是反射
10.方法的调用
a) 使用对象点方法名字例如person.say(“hello world”)
b) 类点方法名(针对静态方法)
备注:静态方法推荐使用类来访问,虽然对象可以访问但是不推荐对象来使用。
11.如果方法不返回值,那么声明方法的时候使用void关键字,在方法定义中可以又来归纳汇总情况不返回值
a) 不适用return语句
b) 使用return,但是return后面没有任何值或者变量,return后面只有一个分号,表示推出方法,返回到方法的调用端。例如 return;
12.类的属性又叫成员变量,属性英文表示为property或者attribute
13.对象Object又叫实例instance.生成一个对象的过程叫实例化
14.命名规范(java对我们的约束性就是大,不过适合多人开发)
a) 类:首字母大写,如果类名有多个单词,那么每个单词的首字母都大写
b) 方法:首字母小写,如果方法名有多个单词,那么之后的每个单词首字母大写
c) 属性:同方法
15.属性是定义在类中的,又叫成员变量;而定义在方法的变量叫做局部变量
备注:良好的习惯是局部变量的声明要赋初值,成员变量不需要,但有时候需要。
比如:使用数组、集合的时候
16.引用类型(reference type):引用类型是用在对象上的。一个对象可以被多个引用所指向,但是同一时刻,每个引用只能指向唯一的一个对象。如果一个对象呗多个引用所指向,那么无论哪个引用对对象的属性进行了修改,都会反映到其他的引用当中。
17.如果一个类包含了属性与方法,那么该类的每一个对象都会具有自己的属性,但无论一个类有多少对象,这些对象共享同一个方法。
18.关于方法参数的传递总结:对于java中的方法参数传递,无论传递的是原生数据类型还是引用类型,统一是传值(pass by value)
备注:原生类型就是字面值,引用类型就是引用地址的值。
19.构造方法(Constructor):构造方法用于完成对象属性的初始化工作,构造方法的特点
i. 构造方法的名字必须和类名完全一样
ii. 构造方法没有返回值,连void也没有
iii. 如果定义一个类的时候,没有为类声明构造方法,那么java编译器会自动为类添加一个没有带参数的default构造方法
iv. 如果在定义一个类的时候,为类声明了构造方法,那么java编译器就不会再为类添加构造方法了
v. 不能显示的调用构造方法,构造方法通常是筒骨弓new关键字隐式调用
备注:良好的习惯是自己写空的构造方法,构造方法也称构造器
20.new 关键字在生成对象的时完成了三件事情
i. 为对象开辟内存空间
ii. 调用类的构造方法
iii. 将生成的对象地址返回
备注:jdk 1.7之后,声明局部变量的时候必须要赋初始值