设计模式:
工厂设计模式
代理设计模式
一共23种设计模式,用的一般比较多的就是工厂模式和代理模式。
一般写字符串比较的时候把常量或者字符串写在前面,如:
String temp = “a”;
If(“a”.equals(temp)){
……
}
这样做的目地是为了防止空指向异常。因此在日常的字符串和常量变量的比较时,把字符串写在前面。
内部类:
一个类的内部还有一个类。
匿名内部类:使用接口实现的只是用一次的内部类。
包装类:
以类的形式来表示八种基本数据类型
No. |
基本数据类型 |
包装类 |
1 |
int |
Integer |
2 |
char |
Character |
3 |
float |
Float |
4 |
double |
Double |
5 |
byte |
Byte |
6 |
short |
Short |
7 |
Long |
long |
8 |
boolean |
Boolean |
其中Integer、Byte、Short、Float、Double、Long都是Number的子类
可以通过number.byteValue()方法获取对应的基本数据类型以便于进行数学运算等操作。
其他类型为:Character、Boolean
包装类中有装箱和拆箱操作:
装箱:基本书记类型à包装类
拆箱:包装类à基本数据类型
包装类可以通过类.MAX_VALUE和类.MIN_VALUE来获得最大最小值。
parseInt(String S)à 将S字符串变成整型。
在JDK1.5之前需要手动装箱拆箱,在JDK1.5之后就不需要这样操作了,因为JDK1.5新增了许多新的特性,比如:foreach,可变参数(例如:int… intArray),自动装拆箱……
异常处理格式:
try{
……
……
}catch(异常类I 异常对象{
……
……
}catch(异常类II 异常对象){
……
……
}finally{
……
……
}
异常处理最大的父类是Throwable,但是一般不使用,通常使用它下面的两个子类:Error和Exception。
Error:Java Virtual Machine(JVM)错误,与程序无关。
Exception:程序中的错误,一般程序中都是用此类(而不使用Throwable)来捕获异常。
异常捕获时候是有顺序的,一般把细节的异常捕获放在前面,而把更粗的异常捕获放在后面。这就像是捕鱼一样,一般把网眼比较细的网放在河道的上方来捕获小鱼,而把网眼较大的网方法河道下方来捕获大鱼。
Throws关键字:用在程序方法声明处。
e.printStackTrace();//打印异常
若诸方法使用了throws,则表示将所有的异常都交给JVM。
Throw关键字:可以使用此关键字人为的抛出异常。
Try{
Throw new Exception(“异常”);
}catch(Exception e){
……
……
}
runtimeException类,只要是runtimeException的子类异常对象,虽然使用throws,但是在程序中也可以不用try…catch…来处理
自定义异常:在大型系统的开发中可以根据需要自定义自己的异常。
断言:assert
使用格式:
Assert boolean表达式 [:详细内容];
在使用命令行编译有断言的程序时需要使用-ea关键字来启用断言,如:
Java -ea xxx.java
Package 包:实际上就是文件夹,不同的文件夹可以放置同样文件名的文件。
使用命令行编译带有包的程序是使用如下命令:
Javac -d . Hello.java
其中“-d”表示根据程序中的package定义生成包,“.”表示在当前目录下生成。
编译执行时候使用javac 包名.文件名和java 包名.文件名
程序中可以使用“java.包名.*”来自动导入需要的包。
静态导入:一个包中某个类的全部方法都是static类型,则可以使用静态导入。
这种形式导入的方法可以直接使用--> Static import 包.类名称.*
常用的包:
Java.lang :常用数据类型,此包属于自动导入。
Java.lang.reflect :反射机制包,可以完成底层操作。
Java.util. :工具包,进行设计开发。
Java.io :IO操作
Java.net :网络操作
Java.sql :数据库编程
Java.text :国际化
访问权限:
NO |
作用域 |
Private |
Default |
Protect |
Public |
1 |
本类 |
O |
O |
O |
O |
2 |
同一包的类 |
× |
O |
O |
O |
3 |
不同包的子类 |
× |
× |
O |
O |
4 |
不同包的非子类 |
× |
× |
× |
O |
命名规范:
类的命名: 每个单词首字母大写;
方法的命名: 第一个单词的首字母小写,之后的单词首字母大写;
属性的命名: 第一个单词的首字母大写,之后的单子首字母小写;
常量的命名: 所有单词字母大写;
包: 所有单词字母小写。
Jar命令:用来打包
格式: jar –cvf my.jar org
其中-cvf是打包的格式命令,可以通过在命令行下输入jar来查看详细参数含义
my.jar指目标文件的文件名
org指源文件的文件名