如果有一个工作能力极佳的人,给他一项不算太难的任务,他也许可以顺利完成,甚至出色地完成。但是当任务变得更为复杂时,能力再强的个体也会有无能为力的时刻。

假如有一群工作能力尚可,各有专长的人,并且他们善于沟通。当面对一项不算太难的任务时,他们可以顺利完成,但是,效率或许没有那个工作能力极强的人那么高,毕竟这个任务经历了分拆——完成各个部分——合并的过程。但是,当面对复杂任务时,我们可以让每一个人去做自己擅长的事,用他自己处理事情的那套方法,在经过协商、沟通,常常可以完满地完成任务。

 前者,工作能力极强的人,如同面向过程编程。

后者,那群能力尚可、各有所长的人,如同面向对象编程。每个人都是一个对象,每个对象有自己的方法、属性,并通过信息交换,协同完成任务。

个人认为,做简单的项目时,面向对象相对于面向过程并无法体现出多大的优势;但是当项目变得复杂繁琐时,面向对象是目前最佳的解决方案。 

posted @ 2012-02-26 13:54 Mr.A 阅读(6) 评论(0) 编辑

在平时制作软件时,常常要用到用户登录模块。在这里把自己的这段简陋的代码贴上,以供日后参考。

效果:

package zzk.zhuoyue.daohang;

import java.awt.*;

import javax.swing.*;

public class LoginFrame extends JFrame {
public static void main(String[] args){ //测试
LoginFrame login = new LoginFrame();

}
public LoginFrame(){ //构造方法
super();
setTitle("系统登陆");
setBounds(300,200,300,175);
Container c = getContentPane();
c.setLayout(null); //取消布局管理器,使用绝对布局
JLabel user = new JLabel("用户:");
JLabel password = new JLabel("密码:");
JTextField txf_userName = new JTextField();
JPasswordField pwd_password = new JPasswordField();
JButton btn_enter = new JButton("登陆");
JButton btn_exit = new JButton("退出");
user.setBounds(50,25,50,25);
password.setBounds(50,52,50,25);
txf_userName.setBounds(100,25,150,25);
pwd_password.setBounds(100,52,150,25);
btn_enter.setBounds(50,100,75,25);
btn_exit.setBounds(175,100,75,25);
c.add(user);
c.add(txf_userName);
c.add(password);
c.add(pwd_password);
c.add(btn_enter);
c.add(btn_exit);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false); //禁止改变大小
setVisible(true); //可见

}
}

监听器等暂时没有设置,使用绝对布局,并禁止了窗口大小改变。

 

posted @ 2012-02-20 10:49 Mr.A 阅读(17) 评论(0) 编辑
str.indexOf(String substr);



用来查询str中字符substr的位置,起始位置为0,若str中不存在substr,则返回-1 。

例:

public class Test1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "1234567890";
int index = str.indexOf("1");
System.out.println(index);
}

}

执行结果为:0

public class Test1 {

/**
*
@param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "1234567890";
int index = str.indexOf("1");
System.out.println(index);
}

}

执行结果为:-1 。
 


 

posted @ 2012-02-19 14:46 Mr.A 阅读(17) 评论(0) 编辑

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+D: 删除当前行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变味小写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)

下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)
Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)
Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)
Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
Alt+Shift+V 移动函数和变量(不怎么常用)
Alt+Shift+Z 重构的后悔药(Undo)

编辑
作用域 功能 快捷键
全局 查找并替换 Ctrl+F
文本编辑器 查找上一个 Ctrl+Shift+K
文本编辑器 查找下一个 Ctrl+K
全局 撤销 Ctrl+Z
全局 复制 Ctrl+C
全局 恢复上一个选择 Alt+Shift+↓
全局 剪切 Ctrl+X
全局 快速修正 Ctrl1+1
全局 内容辅助 Alt+/
全局 全部选中 Ctrl+A
全局 删除 Delete
全局 上下文信息 Alt+?
Alt+Shift+?
Ctrl+Shift+Space
Java编辑器 显示工具提示描述 F2
Java编辑器 选择封装元素 Alt+Shift+↑
Java编辑器 选择上一个元素 Alt+Shift+←
Java编辑器 选择下一个元素 Alt+Shift+→
文本编辑器 增量查找 Ctrl+J
文本编辑器 增量逆向查找 Ctrl+Shift+J
全局 粘贴 Ctrl+V
全局 重做 Ctrl+Y


查看
作用域 功能 快捷键
全局 放大 Ctrl+=
全局 缩小 Ctrl+-


窗口
作用域 功能 快捷键
全局 激活编辑器 F12
全局 切换编辑器 Ctrl+Shift+W
全局 上一个编辑器 Ctrl+Shift+F6
全局 上一个视图 Ctrl+Shift+F7
全局 上一个透视图 Ctrl+Shift+F8
全局 下一个编辑器 Ctrl+F6
全局 下一个视图 Ctrl+F7
全局 下一个透视图 Ctrl+F8
文本编辑器 显示标尺上下文菜单 Ctrl+W
全局 显示视图菜单 Ctrl+F10
全局 显示系统菜单 Alt+-


导航
作用域 功能 快捷键
Java编辑器 打开结构 Ctrl+F3
全局 打开类型 Ctrl+Shift+T
全局 打开类型层次结构 F4
全局 打开声明 F3
全局 打开外部javadoc Shift+F2
全局 打开资源 Ctrl+Shift+R
全局 后退历史记录 Alt+←
全局 前进历史记录 Alt+→
全局 上一个 Ctrl+,
全局 下一个 Ctrl+.
Java编辑器 显示大纲 Ctrl+O
全局 在层次结构中打开类型 Ctrl+Shift+H
全局 转至匹配的括号 Ctrl+Shift+P
全局 转至上一个编辑位置 Ctrl+Q
Java编辑器 转至上一个成员 Ctrl+Shift+↑
Java编辑器 转至下一个成员 Ctrl+Shift+↓
文本编辑器 转至行 Ctrl+L


搜索
作用域 功能 快捷键
全局 出现在文件中 Ctrl+Shift+U
全局 打开搜索对话框 Ctrl+H
全局 工作区中的声明 Ctrl+G
全局 工作区中的引用 Ctrl+Shift+G


文本编辑
作用域 功能 快捷键
文本编辑器 改写切换 Insert
文本编辑器 上滚行 Ctrl+↑
文本编辑器 下滚行 Ctrl+↓


文件
作用域 功能 快捷键
全局 保存 Ctrl+X
Ctrl+S
全局 打印 Ctrl+P
全局 关闭 Ctrl+F4
全局 全部保存 Ctrl+Shift+S
全局 全部关闭 Ctrl+Shift+F4
全局 属性 Alt+Enter
全局 新建 Ctrl+N


项目
作用域 功能 快捷键
全局 全部构建 Ctrl+B


源代码
作用域 功能 快捷键
Java编辑器 格式化 Ctrl+Shift+F
Java编辑器 取消注释 Ctrl+\
Java编辑器 注释 Ctrl+/
Java编辑器 添加导入 Ctrl+Shift+M
Java编辑器 组织导入 Ctrl+Shift+O
Java编辑器 使用try/catch块来包围 未设置,太常用了,所以在这里列出,建议自己设置。
也可以使用Ctrl+1自动修正。


运行
作用域 功能 快捷键
全局 单步返回 F7
全局 单步跳过 F6
全局 单步跳入 F5
全局 单步跳入选择 Ctrl+F5
全局 调试上次启动 F11
全局 继续 F8
全局 使用过滤器单步执行 Shift+F5
全局 添加/去除断点 Ctrl+Shift+B
全局 显示 Ctrl+D
全局 运行上次启动 Ctrl+F11
全局 运行至行 Ctrl+R
全局 执行 Ctrl+U


重构
作用域 功能 快捷键
全局 撤销重构 Alt+Shift+Z
全局 抽取方法 Alt+Shift+M
全局 抽取局部变量 Alt+Shift+L
全局 内联 Alt+Shift+I
全局 移动 Alt+Shift+V
全局 重命名 Alt+Shift+R
全局 重做 Alt+Shift+Y

posted @ 2012-02-19 14:27 Mr.A 阅读(6) 评论(0) 编辑

static修饰的成员,可以直接用类调用而不必创建对象。

在建立新的对象时,static并不产生拷贝。 

posted @ 2012-02-19 13:34 Mr.A 阅读(5) 评论(0) 编辑

修改scite的默认编码为utf-8。

方法如下:

打开SciTE安装目录,找到 SciTEGlobal.properties文件,以记事本方式打开,

将code.page=65001,位置大概在256行左右。根据版本不同可能会有所不同。

经测试,完美输出。 

(第一篇随笔,百度了一个下午,终于在豆瓣上找到答案) 

posted @ 2012-02-09 18:12 Mr.A 阅读(27) 评论(0) 编辑