学习中javawebWord格式.docx
- 文档编号:15690500
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:42
- 大小:893.63KB
学习中javawebWord格式.docx
《学习中javawebWord格式.docx》由会员分享,可在线阅读,更多相关《学习中javawebWord格式.docx(42页珍藏版)》请在冰豆网上搜索。
JRESystemLibrary—>
Next—>
AlternateJRE—>
制定JRE路径—>
finish
完成以后,JRESystemLibrary将变为jdk1.6.0_29。
JavaCompiler
此时即可看到java运行环境也是6.0,如下图所示:
最后在运行java程序则正常了。
总结1:
javabuildPath可修改编译器;
Javacompiler可修改运行时环境。
2、以断点的方式查看程序问题DebugAs
如果程序出现问题,最好以断点的方式去运行程序(DebugAs)
双击左边部分,会出现一个小蓝点,这就是断点的标志。
,如下图:
在要设置断点的地方双击行号左边部分,即可增加一个断点,然后右键/Run—>
DebugAs—>
JavaApplication—>
在出现的对话框中选YES即可打开Debug视图(Perspective)
》》清除断点(Debug视图下右上角有一个Breakpoints窗口),点击下图中圆圈的叉便可全部删除断点(removeallbreakpoints)。
快速查找方法:
F5跳入(stepinto),如下图中红圈内的按钮,
F6图中右边一个按钮(表示跳过此步,执行下一步)
F7跳出此方法并返回开始处。
选中变量—>
右键—>
Watch就可以查看变量值
在Debug视图下,在增加断点—>
Resume(下图中绿色三角按钮)—>
即可直接定位到下一个断点处。
最终一定要关闭断点调试。
总结2:
F5:
stepinto
F6:
stepover
F7:
stepreturn
Droptoframe:
跳到当前方法的第一行
Resume:
跳到下一个断点(如果没有下一个断点,则运行完此程序)
Watch:
观察变量或表达式的值。
断点注意的问题:
1.调试完成后,要在breakpoints中清除所有断点
2.一定要结束运行断点的JVM
3、配置MyEclipse的快捷键
Window—>
preferences—>
输入key
✧alt+/:
内容提示
✧快速修复:
ctrl+1
✧格式化代码:
ctrl+shift+F
✧导入包:
ctrl+shift+O
✧向前向后:
Alt+方向键
✧查看方法说明:
F2
✧更为大写:
Ctrl+shift+x
✧更为小写:
Ctrl+shift+y
✧更换两行的位置:
Alt+方向键
✧查看类的继承关系:
ctrl+T
✧重置透视图:
window—>
ResetPerspective
✧列出所有的快捷键:
Ctrl+shift+L
✧粘贴源码AttachSource
若源码以文件夹形式存放时,选ExternalFolder;
若源码以文件形式存放,则选ExternalFile。
✧查看源码:
Ctrl+点击内容或ctrl+shift+T,会出现如下面板,然后在红框里边输入要查看的内容即可。
二、JDK5.0新特性
◆静态导入
importstatic包名.类名.静态属性|静态方法|*
◆自动装箱、拆箱
eg.
Integeri=1;
//装箱(把基本类型自动转为对象装入i变量中)
intj=i;
//拆箱(把对象自动转为基本类型)
◆增强for循环
只能用在数组、或实现Iterator、Iterable接口的集合类上。
for(变量类型变量:
需迭代的数组或集合){
。
}
因为Map没有实现Iterable接口,则Map不能直接使用for循环增强来遍历,方法:
通过Iterator得到Map的每个key,在通过key,并通用map.get(key)得到key相应的值。
◆可变参数
Class类:
publicConstructor<
T>
getConstructor(Class<
?
>
...parameterTypes)
Arrays类:
publicstatic<
List<
asList(T...a)T是对象类型
就是传入数组的时候应传入对象数组
eg:
intnum[];
不行,而Integernum[];
就可以,因为Integer修饰的为对象类型的数组,即每一个数组元素都是对象类型。
◆枚举和定义枚举
enum一个枚举也可有构造函数、字段和方法
带抽象方法的枚举:
在创建枚举的每个对象的时候,要实现枚举中的抽象方法。
枚举值相当于类的对象
枚举类的特性:
1.枚举类是一种特殊形式的java类;
2.其中声明的每一个枚举值代表枚举类的一个实例对象;
3.枚举的构造函数必须是私有的.
4.枚举类也可实现接口或继承抽象类。
5.JDK5.0扩展了switch语句,它除了可接收int,byte,short,char外,还可接收枚举类型。
6.若枚举类只有一个枚举值,则可当做单例模式使用。
//相当于用单例模式定义了一类
enumOnly{//class
Only;
//Object
java.lang
类Enum<
EextendsEnum<
E>
常用方法:
name()名称,ordinal()序号(从0开始),
valueOf(Class<
enumType,Stringname),
values()此方法在JDK中没有,但每个枚举类都有该方法,它用于遍历所有枚举值。
◆反射技术
反射用在框架中。
框架是基于配置文件的
一个类有多个组成成分,如:
成员变量,方法,构造方法等。
反射就是加载类,并解剖出类的各个组成成分。
1.加载类:
//1.forName(className)-参数必须为完整类路径,但不包括后缀名.java。
Classc1=Class.forName("
javaSE.Person"
);
//2.getClass()
Classc2=newPerson().getClass();
//3.XXX.clsss
Classc3=Person.class;
2.剖析类:
Class类中:
---得到public方法
getConstructor(Class<
getField(Stringname)
getMethod(Stringname,Class<
---得到所有方法,包括private方法
getDeclaredConstructor(Class<
getDeclaredField(Stringname)
getDeclaredMethod(Stringname,Class<
剖析出这些方法以后,有什么用?
构造函数--初始化,创建对象
字段--封装数据
方法--执行某个功能
反射类的构造函数
利用构造函数创建对象:
Constructor类中:
newInstance(Object...initargs)
eg1.对于public方法
//参数可控制你想反射的构造函数是哪个
//此处得到的构造函数是publicPerson(Stringname)--参数传入.class对象
Constructorcon1=c1.getConstructor(String.class);
//创建Person的实例
Personp1=(Person)con1.newInstance("
xxx"
eg2:
对于private方法
通过暴力反射可以使外界访问类中的私有方法。
Classc4=Class.forName("
Constructorcon4=c4.getDeclaredConstructor(List.class);
con4.setAccessible(true);
//暴力反射,打开private访问权限,使该私有方法可以被外界访问
Personp4=(Person)con4.newInstance(newArrayList());
反射类的方法
通过Class类中的方法getMethod(Stringname(方法名称),Class<
...parameterTypes)得到该类中方法。
然后通过
java.lang.reflect
类Method中的方法:
Objectinvoke(Objectobj,Object...args)
调用。
eg1:
注意传入的参数
Personp=newPerson();
Classc=Class.forName("
//getMethod(Stringname(方法名称),Class<
Methodm2=c.getMethod("
aa2"
String.class,int.class);
m2.invoke(p,"
Lily"
34);
//注意第一个参数是对象,后边为可变参数,此处传入一个字符串和一个整数
反射类的main方法
@Test
publicvoidtest5()throwsException{
Personp=newPerson();
Classc=Class.forName("
Methodm5=c.getMethod("
main"
String[].class);
/**
*m5.invoke(p,newString[]{"
a"
});
*若传入参数为String[]数组,则会抛出异常:
*java.lang.IllegalArgumentException:
argumenttypemismatch
*因为main方法里的参数只有一个(为String[]类型的参数)
*/
m5.invoke(p,(Object)newString[]{"
1"
//当传入的参数为Object时,将数组转为Object,就称为了一个参数,就不会报错了}
反射类的字段
字段--用来封装数据
Fieldf1=c.getField("
name"
//其中name是Person类中的一个字段名称
O
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学习 javaweb