类和对象
类,对象,也可以成为类型和实例;简单的理解来说就是类是将问题建模,归成一类问题,而对象则是将问题映射到具体的问题上;
java中有一句话,万物皆对象,就是说一切都是对象构成的;类的多少和形式,主要取决于你看待问题的方式和角度,还有分析问题的粒度,
粒度的大小将直接会影响你所形成的类的复杂程度和规模;再解释一遍,类是问题和某种特征集合的描述,而对象则是对前者的具体化;
面向对象的设计则是主要以类,对象的模式为主来解决问题;
对象的三个特性:
行为,可以对对象施加哪些操作,方法等;
状态,当施加方法是,对象如何响应;
标示,如何辨别,区别具有相同行为状态的不同对象;类和类之间的关系,依赖,聚合,继承;也就是耦合度,内聚度的大小;
还有在实例化类的时候,执行相应有参或无参的构造函数内的内容,如果没有定义,则将执行默认的构造函数;
Date类,Calender类什么的自己百度,这里不讲;
还有要记住,一个对象变量没有包含对象,只是引用对象;
还有封装特性中的三个访问控制符private,protected,public;
这三个分别代表的是类级,子类级,对象级;
private的方法或属性可以通过相关方法对象调用;
静态方法,静态类,静态属性之类的;都是属于静态的,也就是提前定义好的,他们在系统加载是已经自动定义了,所以不用再次编译,可以直接调用,不用通过对象调用,可以在相对广泛的位置随处调用;
工厂方法
这个将涉及到设计模式,此方法将产生不同规格的对象;根据不同的属性特点等;
方法参数,形参实参都有;
对象构造
重载,函数名想相同,而参数类型个数不同的函数实现过程叫重载;
重写,在有了一个实现方法,流程之后不改变函数名,重新定义流程方法属性等;
包的导入,就是各种类和资源框架的导入;import xxxx.xxx.java;
导入静态包就不用写前缀了;比如import static java.lang.System.out.*;
后面写的时候就直接是out.println();而不是System.out.println();
文档注释
//和 /* */,jdk中的工具javadoc,他可以由源文件声称一个HTML文档;\
类注释
就是多行注释;
方法注释
除了多行通用的注释之外还可以使用
@param对当前方法的参数进行注释,当然一个方法的所有@param要放到一块;
@return描述return部分的注释;
@throws表示这个方法又可能抛出异常;
通用注释
@author 姓名
@version版本描述
@since起始于xxx
@deprecated对该类,方法不再使用;
@see在seealso部分插一个超链接;
注释的抽取
java命令行javadoc -d docDirectory nameOfPachage;