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的源码了。


参考技术A java自带没有 test 包 。。

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包中的主要内容,如果未能解决你的问题,请参考以下文章

java的lang包中的常用类都有哪些

Java集合类

JAVA 继承

Java:导入与另一个导入语句冲突

Java的访问权限机制

java进阶--常用API