您的位置:首页 > 其它

DAY22-反射实现框架功能

2014-05-04 11:58 225 查看
Eclipse的使用小结

Eclipse实际是一个java开发出来的 启动的时候是进程里面的界面javaw.exe

JAVAEE JavaPlatform,Enterprise Edition

IDEIDE的英文全称为“Integrated Drive Electronics”,即“电子集成驱动器”,俗称PATA并口

JMS Java消息服务英文全称:Java Message Service

JMX Java Management Extensions,即Java管理扩展

JNDI(Java Naming and Directory Interface,Java命名和目录接口)

Eclipse就是一个集合开发环境

为什么用: 因为使用集合开发环境可以节省开发时间以及更高效的管理项目

优势:极大地节省了开发时间,大量的提示代码以及优势的开发与调试相结合,有利于开发和项目的MVC

不足:在初期学习的时候不建议使用,启动时间长占用资源

配置快捷键 window->preferences->General(全局) 输入conmond a 配置 使用的使用ALT+/

工作间里面包含多个工程

透视图和视图

如何查看一个变量的值 在Debug里面查看 快捷键是 选择变量右键watch在Debug里面可以看透视图中变量的关系

定义java的版本在 preferences中的java选项中的Complier中选择运行的jre环境

配置后要跟随调试 右键点击工程后在run里面有一个 run configurations 配置好相应版本的开发环境

模板代码

右键选中代码 然后在Surround whit 中选择Try/catch Block 或者其他的模板

MyEclipse 快捷键1(CTRL)

-------------------------------------

Ctrl+1 快速修复

Ctrl+D: 删除当前行

Ctrl+Q 定位到最后编辑的地方

Ctrl+L 定位在某行

Ctrl+O 快速显示 OutLine

Ctrl+T 快速显示当前类的继承结构

Ctrl+W 关闭当前Editer

Ctrl+K 快速定位到下一个

Ctrl+E 快速显示当前Editer的下拉列表

Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,)

Ctrl+Z 返回到修改前的状态

Ctrl+Y 与上面的操作相反

Ctrl+/ 注释当前行,再按则取消注释

Ctrl+D删除当前行。

Ctrl+Q跳到最后一次的编辑处

Ctrl+M切换窗口的大小

Ctrl+I格式化激活的元素Format Active Elements。

Ctrl+F6切换到下一个Editor

Ctrl+F7切换到下一个Perspective

Ctrl+F8切换到下一个View

------------------------------------------

MyEclipse 快捷键2(CTRL+SHIFT)

------------------------------------------

Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)

Ctrl+Shift+/ 自动注释代码

Ctrl+Shift+\自动取消已经注释的代码

Ctrl+Shift+O 自动引导类包

Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)

Ctrl+Shift+F4 关闭所有打开的Editer

Ctrl+Shift+X 把当前选中的文本全部变为小写

Ctrl+Shift+Y 把当前选中的文本全部变为小写

Ctrl+Shift+F 格式化当前代码

Ctrl+Shift+M(先把光标放在需导入包的类名上) 作用是加Import语句

Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)

Ctrl+Shift+F格式化文件Format Document。

Ctrl+Shift+O作用是缺少的Import语句被加入,多余的Import语句被删除。

Ctrl+Shift+S保存所有未保存的文件。

Ctrl+Shift+/ 在代码窗口中是这种/*~*/注释,在JSP文件窗口中是 <!--~-->。

Shift+Ctrl+Enter 在当前行插入空行(原理同上条)

-----------------------------------------

MyEclipse 快捷键3(ALT)

-----------------------------------------

Alt+/ 代码助手完成一些代码的插入 ,自动显示提示信息

Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)

Alt+↑ 当前行和上面一行交互位置(同上)

Alt+← 前一个编辑的页面

Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)

Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性

MyEclipse 快捷键4(ALT+CTRL)

Alt+CTRL+↓ 复制当前行到下一行(复制增加)

Alt+CTRL+↑ 复制当前行到上一行(复制增加)

-------------------------------------------

MyEclipse 快捷键5(ALT+SHIFT)

-------------------------------------------

Alt+Shift+R 重命名

Alt+Shift+M 抽取方法

Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)

Alt+Shift+L 抽取本地变量

Alt+Shift+F 把Class中的local变量变为field变量

Alt+Shift+I 合并变量

Alt+Shift+V 移动函数和变量

Alt+Shift+Z 重构的后悔药(Undo) Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)

Alt+Shift+O(或点击工具栏中的Toggle Mark Occurrences按钮) 当点击某个标记时可使本页面中其他地方的此标记黄色凸显,并且窗口的右边框会出现白色的方块,点击此方块会跳到此标记处。

下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)

--------------------------------------------

MyEclipse 快捷键(6)

--------------------------------------------

F2当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时Tooltip还会显示即Show Tooltip Description。

F3跳到声明或定义的地方。

F5单步调试进入函数内部。

F6单步调试不进入函数内部,如果装了金山词霸2006则要把“取词开关”的快捷键改成其他的。

F7由函数内部返回到调用处。

F8一直执行到下一个断点。

静态导入

在1.5中的好处是不用写类名

import 语句可以导入一个类或某个包中的所有类 *

import static 语句导入一个类中的某个静态方法或所有的静态方法

可变参数

为了解决一个简单的方法在参数不同时多个重载的问题可用可变参数的一个函数

就能解决

可变参数的特点:

1 只能出现在参数列表的最后

2 位于变量类型和变量名之间,前后有无空格都可以

3 调用可变参数的方法时,编译器为该可变参数隐含创建一个数组 在方法中以数组的形式访问可变参数

增强for循环

语法 for(type 变量名:集合变量名){……}

注意事项:迭代变量必须在()重定义!

集合变量可以是数组或实现了Iterable接口的集合类

这些都是java5出现的新特性

基本数据类型的自动猜想与装箱

-128-127之间的特殊性,为甚要这样设计有什么好处

享元模式(Flyweight Pattem):享元模式的特点是,复用我们内存中已存在的对象

降低系统创建对象实例

自动装箱:

Integer num1=129;

Integer num2=129;

自动拆箱:

System.out.println(num1+12);

System.out.println(num1==num2);//false 因为当数据大于127时系统将会对该数据重新分配一个新的地址值 对比的无力地址不同 所以结果不同

对于 享元模式,将最常用的封装以便于我们可以复用

为什么要使用枚举?

简单说:枚举可以限定取值范围,所有的内容只能从指定范围中取得.比如性别,只有男和女,其他值都是不合法的如果不用枚举也可以构造这样的方法,但可能要做更多的工作,也可能不安全但运用枚举,就可以避免这些问题了

用普通类如何实现枚举的功能:定义一个weekday的类来模拟枚举功能

1 私有的构造方法

2 每个元素分别用一个共有的静态成员变量表示

可以有若干共有方法或抽象方法。采用抽象方法定义nextDay就将大量的if.else语句

转移成了一个个个独立的类

定义枚举的关键字是 enum

public enum WeekDay{

SUN,MON,TUE,WED,THI,FRI,SAT;

}

public static void main(String[] args){

WeekDay1 weekDay =WeekDay1.MON;

System.out.println(WeekDay.nextDay());

}

反射实现框架功能

框架与框架要解决的核心问题

框架的形成是基于节省开发周期,其特点是一个简单的抽象架构,例如初期的框架房 而用户入住后自己装修

因此 因此在写程序的时候无法知道要被调用的类名,所以在程序中无法直接new某个类的实例对象,而要用反射来做

---------------------- android培训java培训、期待与您交流!
----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: