Java高阶知识
面向对象(OOP)
- OOP将数据放在第一位,然后考虑操作数据的算法。
- oop更适用于解决规模较大的问题。
- 类是构造对象的模板或蓝图。由类构造对象的过程称为创建类的实例。
- 对象中的数据称为实例域,操纵数据的过程称为方法。
- 实现封装的关键在于绝对不能让类中的方法直接地访问其他类的实例域。
- 程序仅通过对象的方法与对象数据进行交互。
- 可以通过扩展一个类来建立另外一个新类。
- Java中所有类都源自一个超类——Object
- 对象三特性:行为、状态、标识
- 对象的状态并不能完全描述一个对象。每个对象都有一个唯一的身份。
- oop代码从设计类开始,然后往每个类添加方法。
- 识别类的简单规则是在分析问题的过程中寻找名词,而方法对应着动词。
- 类间关系:依赖use-a(一个类的方法操纵另一个类的对象)、聚合has-a(类A的对象包含类B的对象)、继承is-a(表示一般与特殊的关系)
- 应尽可能将相互依赖的类减至最少。
- Java中,使用构造器构造新实例,构造器是一种特殊方法,用来构造并初始化对象。
- 一个对象的变量并没有实际包含一个对象,而仅仅引用一个对象。
- 静态方法是一种不能向对象实施操作的方法。
- import语句不仅可以导入静态类,还增加了导入静态方法和静态域的功能。
- 最好采用-classpath(或-cp)选项指定类路径
- 文档注释-javadoc:类注释,方法注释,域注释,通用注释,包与概述注释
- 类设计技巧:1.一定要保证数据私有;2.一定要对数据初始化;3.不要在类中使用过多的基本类型;4.不是所有的域都需要独立的域访问器和域更改器;5.将职责过多的类进行分解;6.类名和方法名要能够体现他们的职责;
- Java中创建对象大概有这几种方式:
- 使用new关键字:这是我们最常见的也是最简单的创建对象的方式
- 使用Clone的方法:无论何时我们调用一个对象的clone方法,JVM就会创建一个新的对象,将前面的对象的内容全部拷贝进去
- 使用反序列化:当我们序列化和反序列化一个对象,JVM会给我们创建一个单独的对象
- 以及反射