一、Eclipse快捷键
1、Alt+/:智能提示
2、Ctrl+Shift+F:格式化代码
3、Ctrl+/:注释代码
4、Ctrl+1:提示代码错误
5、Ctrl+Shift+X:转大写
6、Ctrl+Shift+Y:转小写
7、Ctrl+Shift+O:一次导入多个对应的包
8、Ctrl+Shift+/:多行注释
9、选中行+Alt+上下方向键:移动行
二、Eclipse的Debug调试
1、step over:粗粒度调试,一行一行调试。
2、step into:细粒度调试,可以进入调用的方法内部。
三、Junit调试
1、在需要调试的方法前面加上@Test。
2、@Before和@After会在@Test方法执行前后各执行一次。比如在执行数据库时,可以在@Before里执行打开数据库操作,在@After里执行关闭数据库操作。
3、@BeforeClass和@AfterClass会在调试类执行前后各执行一次。
四、可变参数
1、参数的个数不确定。
2、可变参数智能放在参数的最后边。
3、可变参数最少0个,最多一个。
4、编译器将可变参数当作一个一维数组来对待。
五、枚举
1、当取值是某范围中的之一,这时可以使用枚举。
2、当向用户提示严重错误时,尽可能使用抛出异常的方式通知客户端。
3、枚举类与普通类一样,可以继承或实现,如果有抽象方法的话,可以利用每个枚举值以匿名内部类的方式实现。
4、枚举值可以用在switch()语句中。
5、如果枚举类只有一个枚举值,则可以当做单态设计模式使用。
6、枚举类常用方法:
1)name():显示枚举值
2)ordinal():显示枚举值对应的索引,从0开始。
3)valueOf():判段某个字符串是否属性枚举值之一
4)values():取得该枚举类对应的所有枚举值,是一个数组
六、反射
1、解析一个类的各个部分,形成一个对象。
2、外存中的类,加载到内存中,会形成该对象的Class类,例如:String类,加载到内存中,就是StringClass对象。
3、得到某个class文件对应的class对象的三种方法:
1)类名.class
2)对象.getClass()
3)Class.forName("类名")
4、使用不同的方式,取得同一个类型的字节码对象Class是相同的。
5、通过getXxxx()只能取得该类public的类型,通过getDeclaredXxxxxx()可以取得该类非public的类型。如果要获得非public类型,还需设置设置非public类型的可访问性,默认为false,不可 访问。constructor.setAccessible(true);
6、反射可以反射private/public的构造方法,字段,普通方法。
7、在反射main方法时,编译器会将数组自动拆分,取第一个值。
解决方案:
//m.invoke(null,(Object)new String[]{"A","B","C","D"});,将数组当作对象,此时编译器不进行拆分
m.invoke(null,new Object[]{new String[]{"A1","B1","C1","D1"}});在数组中嵌入另一个数组
小提示:
1、集合有两大类:Collection和Map。Collection包括Set和List。
2、对Map集合的两种迭代:keySet()和entrySet()。通常使用的是entrySet()进行遍历。
枚举参考代码:
package com.gnnuit.enumration2;
public enum Season {
SPRING {
public void show() {
System.out.println("春天");
}
},
SUMMER {
public void show() {
System.out.println("夏天");
}
},
AUTUMN {
public void show() {
System.out.println("秋天");
}
},
WINTER {
public void show() {
System.out.println("冬天");
}
};
// 枚举里有抽象方法
public abstract void show();
}
单例模式参考代码:
package com.gnnuit.model;
/**
* 单例/态/值设计模式(在单线程情况下)
*
* @author 杨伦义
*
*/
public class Singleton {
// 1、构造方法私有化
private Singleton() {
}
// 2、向外部提供一个获取实例的方法
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
// 3、创建一个私有变量存储这个实例
private static Singleton instance;
}