Eclipse-Java-导入/导出包

eclipse使用手册

特殊面板

  • eclipse中有大量的快捷键可供使用,但是真正使用的并不多,或者过于复杂不便于记忆,所以需要知道基本的打开方式以及如何学会快捷键的使用即可。

  • 编辑–快捷键

    • Alt+Shift+S:调用编辑区source下的面板快捷键。
    • 调出主面板后,可以查看小快捷键的标识提示符,标识提示 为:小标字母。
  • 生成jar/导入

    特别提示:导包之前需要保证所写的代码在关联上不能有错,比如:写了某接口/抽象类,但是子类实现/继承了,未重写相关方法。即使你是注释掉了,一样会报错。!
    报错如下:
    Eclipse-Java-导入/导出包

    • 导出包步骤
    1. 在Package Explorer中找到需要导出包,选中-右键-Export。
      Eclipse-Java-导入/导出包
    2. 在弹出窗口中选择:Java-JAR-file-Next。
    3. 选中所想要导出的包,一般由于包直接的关联性很强,所有需要保证所导出包的独立性和完整性。
      Eclipse-Java-导入/导出包
    4. Browse可以修改自己导出包的位置。
      Eclipse-Java-导入/导出包
    • 导入包的步骤
    1. 知道要导入包的所在文件路径,默认的导入包格式为:*.jar。
      Eclipse-Java-导入/导出包
    2. 可以直接拖动到Package Explorer,或者直接复制到目标Java项目。
      Eclipse-Java-导入/导出包
    3. 复制文件,保证Java文件的完整,不建议使用Link到对应包。
      Eclipse-Java-导入/导出包
    4. 选中导入的包,右键-Build Path-Add to Build Path。
      Eclipse-Java-导入/导出包
  • 生成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步进调试。按钮图标为:Eclipse-Java-导入/导出包
  • 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导致全屏报错。
      如图:Eclipse-Java-导入/导出包
      此时解决办法为:手动添加JRE System Library即可,Package Explorer右键,找到properties,Java Compliance,添加1.81JRE System Library即可。
      如图:Eclipse-Java-导入/导出包
      再修改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;			
    	}
    }