enhance:加强提高
ecplise安装完成之后是需要安装插件的,而myecplise是ecplise的一个扩展版,myecplise中
其实是将eclise的常用插件都已经安装好的一个版本。
------------------------------------------------------------------------------
工作区的切换:
myecplise-switching workspace
工作区和工程
一个工作区中可以包含很多个工程
我们对一个工作区做的配置将影响到它下面的所有的工程。
------------------------------------------------------------------------------
透视视图和View(视图的区别)
视图是指一些小的窗口。
透视视图是指一些小的窗口的集合。
------------------------------------------------------------------------------
MyEcplise的编译和运行环境的配置
我们来配置工作区的编译和运行时环境:
myecplise-window-perferences-compiler(编译时的版本) 1.5-5.0 1.6 6.0
(myecplise 6.6中 compiler和jre都是1.5)
(myecplise 8.6中 compiler和jre都是1.6)
编译器高的版本编译出来的class文件不可以在版本低的运行环境上运行
编译器低的版本编译出来的class文件可以在版本高的运行环境上运行
我们可以为单个工程指定它的编译和运行环境
其实总的来说,工程是继承工作区的配置,工程也可以覆盖工作区的配置,这像java中
面向设计的思想。
------------------------------------------------------------------------------
在创建工程的之后需要创建包--包名一般使用公司的域名,反着写,然后写项目的名称,
cn.itcast.day01---类名--要起的有意义。不知道怎么写就用金山词霸翻译。
------------------------------------------------------------------------------
为工作区配置快捷键:
我们想让快捷键不止是对java,有效还让它对所有工程的html和其它的都可以使用。
MyEcplise-window-perference-general-keys-compent assit --如果要是有重复的就要把重复的给取消掉
------------------------------------------------------------------------------
工程的导入:
import-existing projects into workspace-(导入已存在的工程目录即可)
------------------------------------------------------------------------------
如果导入的工程报错了:
如果工程中有很多的jar包,而这些包没有添加到类库中时使用下面的方式进行排除:
对导入的工程右键-properties-java build path-libraries
一般出错也就是在这里
add jars==如果jar包是在当前的工程中,添加工程中的jar包
add external jars:添加外部的jar,这里的jar包和当前的工程目录不是在同一个位置中时使用.
add library添加类库.
library是一组jar的集合,它里面包含了很多的jar文件,添加了library,它里面的所有的jar文件也就全部都添加了。
------------------------------------------------------------------------------
import 可以导入一个类,或者是某个包中所有的类
import static:静态的导入:
导入类中的某个方法 import static java.lang.Math.max;
导入类中所有的方法 import static java.lang.Math.*;
这个是jdk 1.5之后的新特性
当我们的编译环境是jdk 1.4版本之后,程序就会出错。
------------------------------------------------------------------------------
java代码模板的配置
window-perferences-java-editor-code templates- 这里指定的是为所工程区指定的。
我们也可给某一个工程指定模板:
在指定代码模板的时候必须要指定的几个参数:
name,description,pattern
------------------------------------------------------------------------------
函数的可变参数
variable 可变
parameter 参数
需要注意的是:
函数的可变参数一定要写在方法的参数的最后一个。
//使用函数的可变参数
private static int getVariableParaValue(int i,int... args) {
int sum=i;
/**
在可变参数的方法时,编译器会为可变参数隐含的创建一个数组
在方法体中使用数组的方式访问可变参数
*/
for(int j=0;j<args.length;j++){
sum+=args[j];
}
return sum;
}
------------------------------------------------------------------------------
for的高级使用
private static int getVariableParaValue2(int i,int... args) {
int sum=i;
/**
* 我们这里来使用for的高级使用的方式来对数组进行遍历
* 格式如下:
for(修饰符 变量名:数组或集合){}
注意如果是集合的话要是实现iteraable的接口才行
因为iterable为一个接口,它的子类iterator是迭代器。
只有实现了该接口的集合才可以被迭代。对象才可以调用iterator()方法
只有实现了iterator的集合体才可以被迭代
*/
for(int arg:args){
sum+=arg;
}
return sum;
}
------------------------------------------------------------------------------
overLoad和overRide的区别:
overLoad是重载: 方法的参数个数,参数列表相同,只有返回值不同
overRide:是重写,如果父类中的一个方法是私有的,子类中也有一个同样的方法,这就不是重写了。
子类中的方法,是代表着一个新的方法。
------------------------------------------------------------------------------
jdk 1.5之后的新特性自动装箱与拆箱
装箱:基本数据类型----引用数据类型
Integer i=123;
这其实就是把基本数据类型的i给转换成了装箱成了引用数据类型。并且赋值给了引用数据类型的数据
Int i=123;
Integer i1=new Integer(i);
拆箱:引用数据类型---基本数据类型
Integer i=13;
System.out.println(i+115);
这个时候其实就是自动拆箱了
下面有几道题:
String a1=new String("abc");
String a2=new String("abc");
System.out.println("a1,a2是否是同一个对象:"+(a1==a2));
因为a1,a2分别代表一个对象所以它们不是同一个对象
Integer i1=17;
Integer i2=17;
这里再问它们是否代表的是同一个对象
结果是true
Integer i1=173;
Integer i2=173;
这个时候结果就是false了
因为基本数据类型的值在装箱成引用数据类型的时候,如int:-128~127。当有一个int类型的值,需要装箱成Integer的时候,它会在装箱之后,把它给缓冲起来,保存起来。当有下一个int类型的值需要装箱的时候,它就会看缓冲池中是否有对象,如果有,就取出来复用。
这样因为int的取值是在-128~127,所以它们都是同一个对象。这样就有了flyweight设计模式。即享元设计模式。
Integer i1 = 13;
Integer i2 = 13;
System.out.println(i1 == i2);
// 它们是同一个对象
// true因为它们是同一个对象所以结果为真
Integer is1=135;
Integer is2=135;
System.out.println(is1==is2);
//它们是否是同一个对象
//false
//一个基本类型的int值在封装成引用类型的Integer的时候,因为int类型的取值范围是:
//-128~127之间,所以它在自动装箱之后,会把它给缓存,保存起来。当下一次再有int
//类型的数据需要封装的时候,会看缓存中是否有缓存的对象,如果有就取出来复用,这样
//可以减少对象的创建个数。这是一种设计模式,即flyweight享元设计模式。
//即当有很多小对象时,把相同的部分抽取出来做成一个新的对象,另外还有一些不同的部分,
//把不同的部分做为方法的参数传递给对象,做为对象的外部状态。相同的部分做为对象的属性。
------------------------------------------------------------------------------
享元设计模式:
当有很多小的对象它们有很多相同的部分,我们把它抽取成一个新的对象。
那些不同的部分,做为方法的参数传入,做为对象的外部状态。
当有很多小对象时,把相同的部分抽取出来做成一个新的对象,另外还有一些不同的部分,
把不同的部分做为方法的参数传递给对象,做为对象的外部状态。相同的部分做为对象的属性。 |