java基础增强
Eclipse使用:
java Compile配置的是java编译环境
java Build path配置的是java运行环境
运行环境的版本必须高于编译环境的版本。否则报错
工程上 右键--properties--java build path--Library
移除不需要的版本,选择Add Library,即可选择运行环境。
Eclipse断点调试 。以后查看。
F5:step into
F6:step over
F7:step return
drop to frame :跳到当前方法的第一行
resume:跳到下一个断点,如果没有下一个,则运行完整个程序。
右键 watch可以观察变量或者表达式的值
断点调试注意的问题:
1.断点调试完后,要在breakpoints视图中清除所有断点
2.断点调试完后,一定要结束断点运行的jvm,即红色的按钮点。
Eclipse快捷键
内容提示:ALT+/ Eclipse默认是没有配置此功能的,需要自己配。
windows-preferences 输入key 选中keys
content assist设置成alt+/
快速修复:ctrl+1 (数字1) 如果代码有报错,首先ctrl+1
导包:ctrl +shift+o
格式化代码:ctrl+shift+F
添加注释:ctrl+shift+/
去除注释:ctrl+shift+\
更改大写:ctrl+shift+X
更改小写:ctrl+shift+Y
看源码:按下ctrl键,鼠标放上去,点击即可,如果没有导入源码,要下载源码并转帖源码进去
查看源代码方式二:ctrl+shift+T 会弹出窗口,然后输入想看的类名即可。上面的方式要写把类名写出来才可以看,方式二,是弹窗输入查询。
查看方法说明:F2 会弹出一个窗口,显示该方法的介绍。
CTRL+ALT+向下键:复制行,可以采用此快捷键,复制很多行出来。
查看类的继承关系:选中类名,按ctrl+T,会弹出窗口,列出该类的继承关系。
列出eclipse中所有的快捷键:ctrl+shift+L
JUnit测试框架
@Test
public void testRun()
{
Person p=new Person();
p.run();
}
必须在上面加上@Test,表示使用JUnit框架测试,这样就不用每次测试程序的时候都在main函数里了。
在outline里会列出标有@Test的方法,在相应的方法上右键点击Run as既可启动JUnit测试。
如果是想要测试一个类里的多个标有JUnit的方法,在outline里的类名上点击右键,Run as 既可启动多个方法的测试。
建议以后测试程序的时候都用junit,不要再在main里了。main函数里测试,每次都要注释很多代码。没有junit方便。
@Before
public void before()//before名字可以随意,@Before是固定的,不能换名字
{
}
@After
public void after()//after名字可以随意,@After是固定的,不能换名字
{
}
@Before 类中所有测试方法运行之前执行,用于给junit初始化的代码,比如创建一个类。
@After 类中所有测试方式执行完后执行。用于释放资源。比如释放类的引用。
@BeforeClass
public static void beforeclass()
{
}
@AfterClass
public static void afterclass()
{
}
@BeforeClass 类加载的时候执行
@AfterClass 类摧毁的时候执行
没有@Before @After常用
断言:
@Test
public void testRun()
{
Person p=new Person();
Assert.assertEquals("23",p.run());//如果p.run()方法返回值是23,测试通过,绿条,如果不通过,红条。
//可以查看Assert的各方法说明及使用
}
枚举:
一些程序在运行的时候,他所需要的数据不是任意的,而必须是一定范围内的值。JDK5之前采用自定义类来解决,JDK5以后就使用枚举
JDK5用enum关键字来定义枚举类
一个枚举也可以有构造函数,方法,字段
//JDK5之前
class Grade{
private Grade();//外面不能new对象,只能通过Grade.A来获取Grade对象。
public static final Grade A=new Grade();
public static final Grade B=new Grade();
public static final Grade C=new Grade();
public static final Grade D=new Grade();
public static final Grade E=new Grade();
}
//JDK5 以后
enum Grade{ //就是一个类
A,B,C,D,E;//每个值都是对象
}
带有构造函数,字段,方法的枚举
enum Grade{
A("100-90"),B("89-80"),C("79-70"),D("69-60"),E("59-0");
public Grade(String value)
{
this.value=value;
}
private String value;//用于封装每个对象对应的分数
public String getValue()
{
return this.value;
}
}
带抽象方法的枚举。这个比较重要
enum Grade{
A("100-90"){//创建对象的时候,实现抽象方法
public String localValue(){
return "优秀";
}
}
,B("89-80")
{
public String localValue(){
return "良好";
}
}
,C("79-70")
{
public String localValue(){
return "一般";
}
}
,D("69-60")
{
public String localValue(){
return "差";
}
}
,E("59-0")
{
public String localValue(){
return "不及格";
}
};
public Grade(String value)
{
this.value=value;
}
private String value;//用于封装每个对象对应的分数
public String getValue()
{
return this.value;
}
public abstract String localValue();
}
枚举类特性:
1.枚举类是一种特殊形式的java类
2.枚举类中声明的每一个枚举值代表枚举类的一个实例对象
3.与普通java类一样,声明枚举类的时候,可以声明属性,方法,构造函数。但是枚举类的构造函数必须是私有的。如果是public,也会报错。私有的目的就是不让new对象。
4.枚举类也可以实现接口,继承抽象类
5.switch除了可以接受char short int byte外。还可以接受枚举类型
6.若枚举类只要一个枚举值,则可以当做单例设计模式来看待
查看API的enum类的常用方法。
反射技术:做框架用的。
内省 Introspector java.beans包内
Sun公司封装类一套API专门用来操作javabean的属性
字段不是属性,只有当java类的字段对外提供了get或者set方法,才称为属性。
可以查看Introspector类方法。
内省也是做框架时候用,用于获取类,设置类的属性值等。如果不是做框架,用不到此类。
Apache开发了beanutils框架
Apache开发了beanutils框架,专门用来操作bean的属性。开发中常用该框架来操作javabean。
1.首先要导入第三方beanutils开发包。
工程名上右键-新建一个文件夹,常命名为lib,用来保存jar包,把开发包拷贝到lib文件夹下。
commons-beanutils....jar
此外,beanutils需要一个日志记录jar包的支持,需要导入该jar包
log4j开发包下面有个commons-logging.jar
2.然后在lib文件夹里选中这两个jar包,右键--Build path--Add Build path,jar包会变成奶瓶形状的图标即可。
具体用法查看beanutils文档
日期转换的时候也注册一个日期转换器。
java基础增强的更多相关文章
- Java 基础增强
jdk与jre 要想深入了解Java必须对JDK的组成, 本文对JDK6里的目录做了基本的介绍,主要还是讲解 了下JDK里的各种可执行程序或工具的用途 Java(TM) 有两个平台 JRE 运行平台, ...
- Java基础——增强for循环
java1.5版本引入了一个增强for循环,基本原理和for循环类似. 语法声明:for(表达式:条件表达式) 举例:for (String str : set) 解释:set代表set集合,str代 ...
- 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】
一.JavaScript基础增强 1.弹窗 (1)使用window对象的showModelDialog方法和showModelessDialog方法分别可以弹出模式窗口和非模式窗口,但是只能在IE中使 ...
- java基础-迭代器(Iterator)与增强for循环
java基础-迭代器(Iterator)与增强for循环 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Iterator迭代器概述 Java中提供了很多个集合,它们在存储元素时 ...
- 【JAVA面试题系列一】面试题总汇--JAVA基础部分
JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个". ...
- Java基础知识【上】(转载)
http://blog.csdn.net/silentbalanceyh/article/details/4608272 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...
- 黑马程序员----java基础笔记中(毕向东)
<p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...
- 黑马程序员----java基础笔记上(毕向东)
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...
- JAVA面试精选【Java基础第一部分】
这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...
随机推荐
- deepin2014.1快捷键
初试deepin2014.1,发现windows很多快捷键在deepin中也完美支持,举例如下: ctrl+shift+n : 新建文件夹 窗口键+E:打开文件系统 窗口键+TAB:3D切换桌面 al ...
- H5 - 在线编辑制作
[百度H5商店]http://h5.baidu.com/store [木疙瘩在在线制作]http://www.mugeda.com/ [百度在线制作工具]http://h5.baidu.com/ [易 ...
- 一步一步学EF系列【4、升级篇 实体与数据库的映射】live writer真坑,第4次补发
前言 之前的几篇文章,被推荐到首页后,又被博客园下了,原因内容太少,那我要写多点呢,还是就按照这种频率进行写呢?本身我的意图这个系列就是想已最简单最容易理解的方式进行,每篇内容也不要太多,这样初学者容 ...
- yii框架中关于控制器中filter过滤器和外部action的使用
在yii框架中,控制器的过滤器分为执行前和执行后,这里举例是在执行控制器前的过滤. 需要在components/文件夹下定义公共的TestAction.php文件,并且实现run()方法.这个acti ...
- Excel教程(9) - 信息函数
CELL 用途:返回某一引用区域的左上角单元格的格式.位置或 内容等信息,该函数主要用于保持与其它电子表格程序的兼容 性. 语法:CELL(info_type,reference) 参数:Info ...
- 不完善的css怦然心动,有待改进...
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- rabbitmq——镜像队列
转自:http://my.oschina.net/hncscwc/blog/186350?p=1 1. 镜像队列的设置 镜像队列的配置通过添加policy完成,policy添加的命令为: rabbit ...
- 《JavaScript高级程序设计》读书笔记 ---变量、作用域和内存问题小结
JavaScript 变量可以用来保存两种类型的值:基本类型值和引用类型值.基本类型的值源自以下5种基本数据类型:Undefined.Null.Boolean.Number 和String.基本类型值 ...
- JPA基本注解介绍
一.@Entity •@Entity 标注用于实体类声明语句之前, 指出该Java 类为实体类,将映射到指定的数据库表. 如声明一个实体类 Customer,它将映射到数据库中的 customer 表 ...
- windows做时间服务器,linux和windows时间同步
找了很多的资料,都没有windows做时间服务,linux同步windows的时间的,最后自己找了一些软件,终于搞定了,写出来给大家共享,以免大家多走弯路 首先在http://www.meinberg ...