NET程序员如何转行为J2EE之java基础上(12)

    作者:课课家教育更新于: 2016-01-29 18:38:06

    大神带你学编程,欢迎选课

      使用以下命令编译 Test.java。(注意 -d 选项应该指向您为这个例子创建的目录):

      java -d c:\\javapack Test.java

    NET程序员如何转行为J2EE之java基础上(12)_java语言_java编程_课课家

      现在 c:\\javapack 目录下应该有一个名为 com 的子目录。事实上,您可以看到编译所产生的 comTest.class 文件的完全限定名称是 Test.class。 注意包名称( com.mycompany.test)是如何转换为对应目录结构(com\\mycompany\\test)的,该目录结构以您使用 -d选项指定的目录作为根目录。

      下面我们将展示如何打包 Test.class 以方便其他类复用。从 c:\\javapack 目录运行以下命令:

      jar -cvf Test.jar com

      jar 命令将创建一个名为 Test.jar 的文件,它包含 com 子目录下的所有类。

      执行以下命令来使用 Test.jar 文件中的类:

      java -classpath Test.jar com.mycompany.test.Test

      注意您必须使用完全限定的类名称来从命令行运行该命令,而且还要注意使用 -classpath 选项来指向 Test.jar 文件的方式。或者,您可以把 Test.jar 文件添加到 CLASSPATH 环境变量中,该变量是分号分隔的 JAR 文件列表,以及 Java 编译器和 Java 虚拟机(Java virtual machine,JVM)用来寻找需要加载的类的目录列表。

      访问修饰符

      访问修饰符 public 、 private 和 protected 在两种语言中的工作方式大部分都是相同的。在 C# 中,默认的访问权限是 private ;Java 语言中的默认行为是允许任何子类或相同包中的任何类访问当前类、字段或方法。这大致等价于 C# 中的 internal 关键字,该修饰符仅允许从相同程序集访问。

      方法重载

      C# 中的子类如果要重载父类中的某个方法:

      该方法一定 不 能在父类中使用 private 访问修饰符(或没有访问修饰符)来声明。

      该方法必须在父类中声明为 virtual 。

      子类中的重载方法必须与父类中的方法具有相同的名称、返回类型和参数签名。

      子类中的方法必须使用 Overrides 关键字来声明。(您也可以使用 new 关键字,但是一般不推荐这样做。)

      父类中的方法一定 不 能声明为 sealed 。

      Java 语言中方法重载的前提条件不太严格:

      该方法一定 不 能在父类中使用 private 访问修饰符来声明。

      子类中的方法必须与父类中的对应方法具有相同的名称、返回类型和参数签名。

      父类中的方法一定 不 能声明为 final 。

      这些区别的含义是,在 Java 代码中,子类中不可能包含与父类中的非私有方法具有相同名称和签名的方法而不会隐式地重载它。在 C# 中,您必须显式地指明何时想要重载父类中的方法。还要注意 Java 语言中的 final 关键字如何或多或少地等价于 C# 中的 sealed 关键字。

课课家教育

未登录

1