java程序 使test类位于com包中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java程序 使test类位于com包中相关的知识,希望对你有一定的参考价值。
java程序 使test类位于com包中
1、导入已经开发好的工程
从菜单的File-->Import打开
选中General-->Existing Projects into Workspace点Next按钮选择工程目录即可
2、plugin工程生成jar包
从菜单的File-->Export打开
选中Plug-in Development-->Deployable plug-ins and fragments点Next按钮选择需要生成jar包的工程,再选择Destination-->Diretory中jar生成的目标目录即可。
另:也可直接从Project Explorer中选择工程右击选中Export导出单个工程
plugin工程有一个重要的文件META-INF/MANIFEST.MF如下
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: SdpS3 Storage Client Bundle
Bundle-SymbolicName: cosbench-sdps3
Bundle-Version: 0.4.1.0
Bundle-Vendor: intel
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: .,
aspectjrt.jar,
aspectjweaver.jar,
commons-codec-1.3.jar,
commons-logging-1.1.1.jar,
freemarker-2.3.20.jar,
httpclient-4.3.6.jar,
jackson-core-asl-1.8.7.jar,
jackson-mapper-asl-1.8.7.jar,
mail-1.4.3.jar,
spring-beans-3.0.7.jar,
spring-context-3.0.7.jar,
spring-core-3.0.7.jar,
stax-1.2.0.jar,
stax-api-1.0.1.jar,
fluent-hc-4.3.6.jar,
httpclient-cache-4.3.6.jar,
httpmime-4.3.6.jar,
httpcore-4.3.3.jar,sdpjdk.jar
Import-Package: com.intel.cosbench.api.auth,
com.intel.cosbench.api.context,
com.intel.cosbench.api.storage,
com.intel.cosbench.config,
com.intel.cosbench.log
在Runtime页面增加需要引用到包会加到MANIFEST.MF的Bundle-ClassPath中,与手工修改MANIFEST.MF是一样的效果。
MANIFEST.MF的Build页面仅在eclipse编译时起作用,在export生成jar包时无法引用,必须在Runtime中也增加。如果编译时正常,但导出时报错,可以看plugin工程生成jar包生成时的错误日志,根据错误日志加入要引用的包即可。我的plugin工程为sds3.
3、普通工程生成jar包
从菜单的File-->Export打开
选中java-->JAR file生成普通的工程jar包,使用这种方法生成的包也可给plugin工程生成jar包引用。
示例:使用工程生成sdpjdk.jar的工具包,把sdpjdk.jar放到MANIFEST.MF文件中,那么插件sdps3工程就可以使用项目sdpjdk的文件导出了。但是在编译时我是通过sdps3-->Properties-->Java Build Path-->Projects页面通过add引用sdpjdk项目,那样就可以方便看工具包sdpjdk的源码了。
JAVA 继承
一、继承的基本语法:
在Java语言中,用extends关键字表示一个类继承了另一个类。
比如: 子类 extends 父类{
}
子类类到底继承了父类类的哪些东西呢?有 以下两种情况:
① 当子类类和父类类位于同一个包中:子类类继承父类类中public、Protected和默认访问级别的成员变量和成员方法
② 当子类类和父类类位于不同的包中:子类类继承父类类中public和protected访问级别的成员变量和成员方法
【在JAVA 中一个子类只能有一个直接的父类。】
所有的Java类都直接或间接地继承Java.lang.Object类。Object类是所有java类的祖先。
二、方法重载(OverLoad)
对于类的方法(包括从父类中继承的方法),如果有两个方法的方法名相同,但参数不一致,那么可以说,一个方法是另一个方法的重载方法
注:
重载方法必须满足以下条件:
① 方法名相同
② 方法的参数类型、个数、顺序至少有一项不相同
③ 方法的返回类型可以不相同
④ 方法的修饰符可以不相同
三、方法覆盖(Override)
覆盖方法必须满足多种约束:
① 子类方法的名称、参数签名和返回类型必须与父类方法的名称、参数签名和返回类型一致
② 子类方法不能缩小父类方法的访问权限
③ 子类方法不能抛出比父类方法更多的异常
④ 方法覆盖只存在于子类和父类之间,在同一个类中的方法只能被重载,不能被覆盖
⑤ 父类的静态方法不能被子类覆盖为非静态方法
⑥ 子类可以定义与父类的静态方法同名的静态方法,以便在子类中隐藏父类的静态方法
⑦ 父类的非静态方法不能被子类覆盖为静态方法
⑧ 父类的私有方法不能被子类覆盖
⑨ 父类的抽象方法可以被子类通过两种途径覆盖:一是子类实现父类的抽象方法 二是子类重新声明父类的抽象方法
⑩ 父类的非抽象方法可以覆盖为抽象方法
四、方法覆盖与方法重载的异同
相同点:
要求方法相同
都可以用于抽象方法和非抽象方法之间
不同点:
方法覆盖要求参数签名必须一致,而方法重载反之
方法覆盖要求返回类型必须一致,而方法重载不做限制
方法覆盖只能用于子类覆盖父类的方法,方法重载用于同一个类的所有方法
方法覆盖对方法的访问权限和抛出的异常有特殊要求,而方法重载无限制
父类的一个方法只能被子类覆盖一次,而一个方法在所在的类中可以被重载多次
五、super关键字
super和this关键字都可以用来覆盖java语言的默认作用域,使被屏蔽的方法或变量为可见。
注:
在程序中,在以下情况会使用super关键字:
①在类的构造方法中,通过super语句调用这个类的父类的构造方法
②在子类中访问父类的被屏蔽的方法和属性
六、继承的利弊和使用原则
利弊:
继承关系最大的弱点:打破封装
七、比较组合与继承
以上是关于java程序 使test类位于com包中的主要内容,如果未能解决你的问题,请参考以下文章