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基础增强的更多相关文章

  1. Java 基础增强

    jdk与jre 要想深入了解Java必须对JDK的组成, 本文对JDK6里的目录做了基本的介绍,主要还是讲解 了下JDK里的各种可执行程序或工具的用途 Java(TM) 有两个平台 JRE 运行平台, ...

  2. Java基础——增强for循环

    java1.5版本引入了一个增强for循环,基本原理和for循环类似. 语法声明:for(表达式:条件表达式) 举例:for (String str : set) 解释:set代表set集合,str代 ...

  3. 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】

    一.JavaScript基础增强 1.弹窗 (1)使用window对象的showModelDialog方法和showModelessDialog方法分别可以弹出模式窗口和非模式窗口,但是只能在IE中使 ...

  4. java基础-迭代器(Iterator)与增强for循环

    java基础-迭代器(Iterator)与增强for循环 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Iterator迭代器概述 Java中提供了很多个集合,它们在存储元素时 ...

  5. 【JAVA面试题系列一】面试题总汇--JAVA基础部分

    JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个". ...

  6. Java基础知识【上】(转载)

    http://blog.csdn.net/silentbalanceyh/article/details/4608272 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...

  7. 黑马程序员----java基础笔记中(毕向东)

    <p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...

  8. 黑马程序员----java基础笔记上(毕向东)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...

  9. JAVA面试精选【Java基础第一部分】

    这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...

随机推荐

  1. POJ 1922 Ride to School#贪心

    (- ̄▽ ̄)-* //C跟着a君骑,然后更快的b君来了,C又跟着b君骑, //接着最快的d君来了,C就去跟着d君了, //最后最快的d君到达目的地时,C也就到了 //所以C的到达时间,就是最早到达的那 ...

  2. git 恢复丢失的文件

    务必进入当前controller下面,才能恢复 git checkout HEAD TestController.class.php

  3. sqlplus登录Oracle时ORA-01017: invalid username/password; logon denied的错误

    今天用scott用户登录Oracle数 据库时,竟然出现了ORA-01017: invalid username/password; logon denied错误,原以为是因为我的scott用户没有解 ...

  4. ESFramework 4.0 快速上手(01) -- Rapid引擎

    (在阅读该文之前,请先阅读 ESFramework 4.0 概述 ,会对本文的理解更有帮助.) ESFramework/ESPlatform 4.0 的终极目标是为百万级的用户同时在线提供支持,因为强 ...

  5. idea 注册码

    生成地址:http://idea.lanyus.com/ ------------------------------------- IntelliJ IDEA 注册码 *.lanyus.com及*. ...

  6. css3部分属性兼容性别扭写法(因为很多我就叫他别扭了,希望全面早早支持css3吧)

    /*圆角class,需要设置圆角的元素加上class名称*/ .roundedCorners{ -webkit-border-radius: 10px;/*webkit内核浏览器*/ -moz-bor ...

  7. Set下面HashSet,TreeSet和LinkedHashSet的区别

    Set接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false.Set判断两个对象相同不是使用==运算符,而是根据equals方法.也就是说,只要两个对象用eq ...

  8. APP测试--功能测试

    1.1 了解需求 这一点,不但是功能测试,是所有测试都需要的第1步.通过需求文档,与产品经理的沟通,与开发的沟通,用户的使用习惯等各方法,了解APP的需求. 1.2 编写测试用例 当然之前可能是测试计 ...

  9. Xcode最最实用快捷键

      转发:http://www.open-open.com/lib/view/open1397988745593.html 关于与mac 通用的快捷键网上太多,就不说了,下面介绍一些大家不是很熟悉但是 ...

  10. opencv使用convexityDefects计算轮廓凸缺陷

    引自:http://www.xuebuyuan.com/1684976.html http://blog.csdn.net/lichengyu/article/details/38392473 htt ...