Java课程笔记_3

一 课程内容

1 对于包名是cn.mybole的类Test,在当前目录下生成包javac –d . Test.java,在指定目录下生成包javac –d e:/ Test.java,将会自动在e盘创建新文件夹cn,下一级目录是mybole,再下一级是Test.java。解释时如果刚才是在指定目录下生成包的在set classpath中一定要设置到最上层包名所对应的目录(本例是e:/),然后用java cn.mybole.Test执行程序。

2  import java.io.File ;引入包中的类

    import java.io.*; 引入整个包

    default 在同一个包中的类可以互相引用,无需import对方的类

    不在同一个包中的的类,引用其他包中的类,除了要import,还要将类定义为public。

    在一个类中调用另一个类时,先编译调用的类,在编译当前的类。或者用javac –d . *.java(编译所有java文件)

3  native方法是用户在Java中可以使用,但不能编写的方法。JNI可以理解为Java和本地应用程序的中介。

步骤 1 写Java代码

class HelloWorld{
   public native void displayHelloWorld();
   
   static
   {
           System.loadLibrary("Hello"); \\加载名为Hello的动态链接库
   }
   public static void main(String []args) {
          new HelloWorld().displayHelloWorld();
   }
}

步骤2 编译Java代码

      javac HelloWorld.java

步骤3 创建.h文件

     javah –jni HelloWorld   生成HelloWorld.h

步骤4 写本地方法的实现

创建HelloWorldImp.c,用UltraEdit打开

#include <jni.h>
#include "HelloWorld.h"
#include <stdio.h>

JNIEXPORT void JNICALL
java_HelloWorld_displayHelloWorld(JNIEnv *env,jobject obj)
{
         printf("Hello World\n"};
         return;
}

步骤5 创建共享文库

cl –Ic: 本机include目录 –Ic:本机win32目录  -LD HelloWorldImp.c –Fehello.dll

步骤6 执行程序

java HelloWorld

结论: 利用jni技术在Java程序中去访问C语言函数的技术。

4  接口:在接口中所有方法都是抽象方法public abstract。在实现类中所定义的方法访问权限不能低于接口方法权限,所以所有实现类中的方法都是public。执行时 java +类名,不是接口名。实现类中要实现所有接口中的方法。和public类一样,public接口也必须定义在与接口同名的文件中。

5 接口中可以有数据成员,这些成员没人都是public static final。一个接口可以继承另一个接口。

Java课程笔记_3,布布扣,bubuko.com

Java课程笔记_3

上一篇:C++调用存储过程


下一篇:Spring整合hibernate4:事务管理