您的位置:首页 > 职场人生

黑马程序员-1-java5的一些简单新特性

2014-08-20 14:57 344 查看
------- android培训java培训、期待与您交流! ----------


01.JDK1.5和JDK1.6的新特性?

         JDK1.5

      1.静态导入

      2.可变参数

      3.增强的for循环

      4.基本数据类型的自动拆箱与装箱

      5.枚举

      6.注解

      7.泛型

02.eclipse及IDE开发工具介绍

   1.MyEclipse是Eclipse的一个插件,将MyExclipse和eclipse打包作为开发javaEE的工具,

   即为扩展的MyExclipse开发工具。eclipse是由java编出来的IDE开发工具。

   2.启动java中的图形界面所用的虚拟机通常启动的是javaw.exe。因为javaw.exe启动时会关掉

   命令行窗口。若eclipse关不了了,可以通过关闭任务管理器中的javaw.exe来完成关闭。

   3.一些述语的简写:

   sun公司:Stanford University Network斯坦福大学网络公司

   JDK:Java Development Kit(软件开发包)

   JVM:Java Virtual Machine (java虚拟机)

   java ee:Java(2platform) Enterprise Edition  JAVA企业版

   JRE:Java Runtime Environment(java 运行环境)

   ide:itegrity development environment集成开发环境

   jms

   jmx

   jndi

   OOP  object oriented programming 面向对象编程

   4.另一个开发java的IDE是:NetBeans

 NetBeans也是一个免费的开源的由sun公司开发的IDE工具。

 由于大家习惯了使用eclipse,所以NetBeans很难推广起来。

 5.还有一个java的IDE开发环境:JBuider

 因为是收费的,所以几乎被淘汰。

03.eclipse工程管理与快捷键配置

 1.IDE开发工具都支持使用工程化方式管理一个项目的程序开发过程,一般来说一个相对独立的项目就是一个工程,

 一个项目中涉及的多个java文件,资源文件(配置文件)等用一个工程进行管理。使用工程管理,开发工具能对

 所有源文件集中管理,记住每个源文件的位置和相互关系。工程中有哪几个源文件、启动类是哪个、启动参数设置

 等配置信息在工程中都有记录。

 2.一个workspace可以包含多个project,一个workspace保留了eclipse的一套环境选项的配置,例如,所使用的

 javac和java命令,等等,如果要为eclipse再配置一套环境选项,可以再创建一个workspace。package explore

 视图窗口中的filters菜单项,可以显示空的父包(该功能默认是关闭的)

 3.配置版本:

 windows-->preferences-->java--> compiler(编译版本设置)

         Installed JREs(运行版本设置)

 4.新建工作间:

 File-->SwitchWorkspace(切换工作间)-->other-->输入新工作间的名称如:E\workspace4--->OK

 5.新建一个工程:

 File-->New-->Project-->选择JavaProject(普通java工程)-->Next-->Project name:staticimport-->Finish

 -->提示是否切换到透视图下(perspective)-->yes

 6.新建一个类:

 在Projcet上右击-->New-->class-->Package:cn.itcast.day1

         Name : StaticImport

 7.更改工程名:

 在工程上右击-->Refactor(重构)-->Rename-->New name:javaenhance(加强之意)

 8.快捷键配置:

 Window-->Preferences-->General(通用)-->keys-->输入content a-->在显示列中找到Content Assist(内容协助)

 -->设置其快捷键如:Alt+/(若想解除快捷键设置的绑定关系,按Unbind Command即可)-->Apply(应用)-->OK

 注:此处配置的是:System.out.println()这句的快捷键.

  快捷键的设置位置在:General-->keys

  代码模块的设置位置在:java-->editor-->Templates

04.eclipse视图管理与程序调试

 1.Perspective与view的区别:

 一个透视图是若干个小视图的集合。如:java透视图,Debug透视图等。

 2.Debug透视图下调试变量

 制作调试端点(在要调试的变量行前双击)-->切换到Debug透视图-->选中变量x并右击-->Watch(此时可以看到变量的值)

 -->点击下一步的图形箭头进行一步步的调试(调试时观察变量值的变化)

 3.如何调出视图:

 Window-->Show View-->点选要打开的视图(如:outline)-->若找不到时,可到other中去找。

05.配置eclipse编译与运行环境

 1.设置整个workspace的javac与java

 windows-->preferences-->java--> compiler(编译版本设置)

         Installed JREs(运行版本设置)

 2.设置单个工程的javac与java

  设置javac:选择工程-->右键-->Properties-->Java Compiler-->设置编译版本

  设置java:选择工程-->右键-->run as-->Run Configurations (老版本是:open run dialog)

     -->JRE-->Installed JREs-->Add-->Standard VM-->Next-->Directory选择jdk的版本目录-->设置运行彼本

 3.注意:

  1)高版本的java能运行低版权本的javac编译的程序,

  低版本的java不能运行高版本的javac编译的程序。

  2)eclipse工作台中的所有工程继承工作台的配置,其中某个工程也可以覆盖工作台的配置。

06.在eclipse中配置java模版代码

 1.代码模板的运用:

 选择代码-->右键-->Surround With-->选择模板如:Try/Catch Block

 2.代码模版的设置:如:设置一个try{}finally{}的模板

 Window-->Preferences-->java-->Editor-->Templates-->New-->Name:tryf

               Pattern:try{

                 

                  }finally{

                 

                  }

            

     --->Insert Variable(设置{}中的主体内容)-->line_selection(为原来的内容)

                 -->cursor(光标的位置)

        
07.在eclipse中导入已有的工程

 1.将工程导入工作台

  1)切换工作间到workspace2:File-->SwitchWorkspace-->workspace2.

  2)将workspace1中的javaenhance工程拷贝到workspace2的目录下.

  3)File-->Import-->General-->点选Existing Projects into Workspace(存在的工程)-->Next-->

     按Browse选择根目录。Select root directory:E:\workspace2\javaenhance --->Finish

 2.工作台环境不同的话,要重新配置JRE库

  注:JRE环境即JRE System Library,该库中包含许多JRE的jar包。

  1)删除库:在工程上右击-->Build Path-->Configure Build Path-->按Remove删除已有的JDK的库

  2)增加库:在工程上右击-->Build Path-->Configure Build Path-->按Add Library(增加库)

    ---><1>选择JRE System Library(增加JRE的库)-->Next-->选择jre的库Workspace default JRE(Sun JDK1.6.0_13)-->Finish

     <2>选择MyExclipse Libraries(增加MyEclipse插件带的库)

     <3>选择User Library(增加新的库)-->Next-->User library name:xxx(例)

      -->Add JARs(在该库下可任意增加许多jar包)

    
08.java5的静态导入与编译器语法设置

 1.import与import static语句的区别:

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

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

 2.语法举例

   求两个数的最大值和相减结果的绝对值:

   System.out.println(Math.max(3,9));//此时的Math类可省略。

   System.out.println(abs(3-9));

   此例的静态导入是:import static java.lang.Math.*;

   注:若将javac无意改成了1.4,则静态导入等JDK1.5的特性都会报错.

09.可变参数与OverLoad相关面试题分析

 1.可变参数

  1)问题:一个方法接受的参数个数不固定,例如:

   System.out.println(add(2,3,5));

   System.out.println(add(1,2,3,5));

  2)可变参数的特点:

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

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

  <3>调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,

     在方法体中以数组的形式访问可变参数。

  3)代码见cn.itcast.day1.VarableParameter.java

 2.说一说overload(重载)与override(重写)的区别?

 JAVA中的重载overload:

只要是一个类以及其父类里有的两个函数有相同的名字但是不同的参数列表(包括参数类型,参数个数,参数顺序3项中的一项或多项)。重载可以在

单个类或者两个具有继承关系的类中出现。是实现类的多态性的一种重要方式。

 JAVA中的覆盖override:

覆盖只会在类继承的时候才会出现,覆盖要求两个函数的名字和参数列表都完全一样。

[b]10.java5的增强for循环


 1.增强for循环

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

  2)注意事项:

   迭代变量必须在()中定义!

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

  3)举例:

public static int add(int x,int ... args)
{
int sum = x;
for(int arg : args)
{
sum += arg;
}
return sum;
}

  4)注:注释的快捷键是:ctrl+shift+/

 2.系统学习知识的方法:查找知识的源头

  下载java的语言规范:langspec-3.0

11.基本数据的自动拆装箱及享元设计模式

 1.基本数据类型的自动拆箱与装箱

  1)自动装箱:

   Integer num1 = 12;

  2)自动拆箱:

   System.out.println(num1 + 12);

  3)基本数据类型的对象缓存:

  Integer num1 = 12;

  Integer num2 = 12;

  System.out.println(num1 == num2);

  Integer num3 = 129;

  Integer num4 = 129;

  System.out.println(num3 == num4);

  Integer num5 = Integer.valueOf(12);

  Integer num6 = Integer.valueOf(12);

  System.out.println(num5 == num6);

 2.JDK1.4以前的版本基本数据封装对象:Integer a = new Integer(3);//装箱

   JDK1.5以后基本数据的封装对象:Integer a = 3;//自动装箱

   在一字节内的整数(-128~127)由于使用频率高,在封装成对象时,就缓存起来了。

   以便复用,这种模式叫享元模式。

 3.享元设计模式(flyweight):

   如果很多很小的对象,它们有很多相同的东西,那就可以把它们变成一个对象,

   还有些不同的东西,可将它们变成外部的属性作为方法的参数传入。这种模式叫

   享元模式。

   eg:i.display(int x,int y)

   i(char,x,y)

 4.演示

public class AutoBox {
public static void main(String[] args) {
Integer iObj = 3;
System.out.println(iObj + 12);
//在-128~127内 用的是char 根据享元模式 他们的地址是一样的
//而超过后就是新的对象
String s1 = new String("abc");
String s2 = new String("abc");
Integer i1 = 137;
Integer i2 = 137;

System.out.println(i1 == i2);

Integer i3 = Integer.valueOf(213);
Integer i4 = Integer.valueOf(213);
System.out.println(i3==i4);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: