Eclipse-Java-导入/导出包
eclipse使用手册
特殊面板
-
eclipse中有大量的快捷键可供使用,但是真正使用的并不多,或者过于复杂不便于记忆,所以需要知道基本的打开方式以及如何学会快捷键的使用即可。
-
编辑–快捷键
- Alt+Shift+S:调用编辑区source下的面板快捷键。
- 调出主面板后,可以查看小快捷键的标识提示符,标识提示 为:小标字母。
-
生成jar/导入
特别提示:导包之前需要保证所写的代码在关联上不能有错,比如:写了某接口/抽象类,但是子类实现/继承了,未重写相关方法。即使你是注释掉了,一样会报错。!
报错如下:- 导出包步骤
- 在Package Explorer中找到需要导出包,选中-右键-Export。
- 在弹出窗口中选择:Java-JAR-file-Next。
- 选中所想要导出的包,一般由于包直接的关联性很强,所有需要保证所导出包的独立性和完整性。
- Browse可以修改自己导出包的位置。
- 导入包的步骤
- 知道要导入包的所在文件路径,默认的导入包格式为:*.jar。
- 可以直接拖动到Package Explorer,或者直接复制到目标Java项目。
- 复制文件,保证Java文件的完整,不建议使用Link到对应包。
- 选中导入的包,右键-Build Path-Add to Build Path。
-
生成DOC文档
生成的文件需要添加使用说明书帮助文档,快捷生成方式为:
选中项目-右键-Export-Java-Javadoc。默认放在同工作空间的对应的文件doc下,可以修改为自己想放置的文件位置。 -
eclipse删除/导入项目
- 删除:选中项目-右键-Delet-ok,删除workspace位置,硬盘任然存在,勾上复选框,删除一切位置,包括硬盘位置。
- 导入:Package Explorer-右键-Import-General-Existing Project into Workspace。可以选择复制也可以选择不复制…
- Package Explorer-右键-properties-resource,旁边显示文件位置。
-
Eclipse Debug
- 查看程序流程,需要设置断点,快捷键断点方式–左边边线处左双击。
- 调试方法:F11进入Debug调试界面,F6步进调试。按钮图标为:
-
Object类
-
描述:该类为所有的类的父类,是超类。
-
默认掌握的函数有:getclass,getName,toString,hashCode。
-
在最新的JDK1.81版本下,直接无法调用getName,但是可以Object.getClass().getName,返回对象数据类型–注明:将compliance调至1.4版本会出现该情况,恢复默认设置不会出现这种情况。
-
所有程序修改的极限就是使用Eclipse自动生成的代码,考虑的更加的全面以及会通过底层的优化达到最优的效果,建议有自动生成的尽量使用自动生成的,不自己写。
-
System.out.println(“对象实例”);返回为自动生成的,已经重写了的Object.toString();函数。
如:System.out.println(dg); //Dog dg = new DOg();
- equals:
Test t1 = new Test(); Test t2 = new Test(); Test t3 = t1; //==比较的是内存地址值. System.out.println(t1==t2); //false System.out.println(t1==t3); //true System.out.println(t1.equals(t2)); //false System.out.println(t1.equals(t3)); //ture //因为底层未曾重写,若要使用比较元素值是否相同来确定对象是否相同,需要重写equals方法。 //重写如下: @override //版本最新即可,旧版本不支持。 public boolean equals(Object obj){ if (this.name.equals(obj.name)&&this.age==obj.age){ return true; }else{ return false; } } //优化后的效果 public boolean equals(Object obj){ //只需要添加一条. if(this==obj){ return true; } return this.name.equals(s.name) &&this.age==s.age; //下式可以省略. if (this.name.equals(obj.name)&&this.age==obj.age){ return true; }else{ return false; } } //未做class的同类别判断,,数据强转报错,改进如下: ...body... if(!obj instanceof student){ return false; } //终点:自动生成Alt+Shift+S,Generate hashCode() and equals();
- equal无法自动生成override,原因是编译器版本过低,低于1.5,若强制手动添加@override,则报错,解决办法为将1.4的编译器修改为1.5,此时会删除1.81JDK的JRE System Library导致全屏报错。
如图:
此时解决办法为:手动添加JRE System Library即可,Package Explorer右键,找到properties,Java Compliance,添加1.81JRE System Library即可。
如图:
再修改Java Complier为1.7即可,完整修复完成。
-
Object.clone()重写
描述:protected Object clone():创建并且返回对象的一个副本。
-
finalize是Object下的一个垃圾回收函数,可以相对提高回收速度。
-
生成一份与目标对象一样的对象,区别与t=t3,只是引用,并非克隆。
/*for example:*/ //Cloneable为无方法接口:标记接口. class father extends Object implements Cloneable{ @override protected Object clone throws CloneNotSurpportedException{ return super.clone(); } public static father } public class mainBody{ public static void main throws CloneNotSurpportedException(String[] args){ father fa = new father(); //由于clone()由protected修饰,所以无法访问,需要重写。 //克隆学生对象 Object obj = fa.clone(); father faclone = (father)obj; } }