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

时间: 2024-11-07 13:31:19

Java课程笔记_3的相关文章

JAVA课程笔记_1

一 课程内容 set path查看路径信息:当编译一个程序或命令时,先从当前目录查找,如果没有,按path中的路径按顺序查找,先找到后就不查找后面的路径了. 可以将目录加入环境变量,set path="复制的路径" 可以在.java程序中编写多个类,当编译时,每个类生成各自的字节码文件. 由于多个类的字节码文件不利于管理,使用bin目录下的jar命令可以将多个字节码文件打包成jar包发布给其他程序员使用. 使用方法:先在命令提示符下输入jar,会出现使用方法和实例.Jar打包两个cla

Java课程笔记_4

1 内部类--在一个类中定义另一个类,当建立一个inner class时,其对象拥有与外部对象之间的一种关系,通过this.referance形成,使得内部类可以访问外部类中所有的成员. 2 在内部类的方法中访问局部变量直接引用,访问Inner类的成员变量,用this.x,访问外部类M的成员变量,用M.this.x. 3 在方法中定义的内部类,如果要访问方法中定义的本地变量或方法的参数,则变量必须被声明final.内部类可以声明为private或protected,还可以被声明为abstract

Java课程笔记 — Eclipse 快捷键

ctrl+d: delete current line ctrl+/: comment/uncomment current line ctrl+k: find next selected key ctrl+shift+k: find previous selected key ctrl+space: content assitant(may conflict with some input methods, but can be customized). It can be replaced b

java学习笔记8--接口总结

接着前面的学习: java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note8.html,转载请注明源地址. 生活中的接口: 什么是接口? 一个Java接口是一些方法特

跟我学《JavaScript高程3》第三讲,课程笔记

跟我学<JavaScript高程3> 第三讲:第4章 课程制作:bling,兴哥,5年Java,3年前端 课程知识:JavaScript.Html.Css 课程目标:前端体系课程,逐步深入,找到一份前端工作    课程大纲:本书目录结构 适合人群:前端初学者,可以0基础,但要认真,踏实 课程回顾 1.数据类型:5种基本类型,1中复杂类型. 2.操作符:需要注意运算优先级,算关逻条赋逗. 3.语句:if-else.for.for-in.while 4.函数:函数定义,目前的两种方法 补充:变量在

跟我学《JavaScript高程3》第一讲,课程笔记

跟我学<JavaScript高程3> 第一讲:第1~3章 课程制作:bling,兴哥,5年Java,3年前端 课程知识:JavaScript.Html.Css 课程目标:前端体系课程,逐步深入,找到一份前端工作    课程大纲:本书目录结构 适合人群:前端初学者,可以0基础,但要认真,踏实 回答几个问题 1.为什么要学习前端?JavaScript有哪些用处?为什么要讲这本书? 移动互联网是未来的趋势,移动设备H5开发带动了前端趋势,今后App基本都是Native+H5实现. 页面效果,数据交互

跟我学《JavaScript高程3》 第二讲,课程笔记

跟我学<JavaScript高程3> 第二讲:第3章 课程制作:bling,兴哥,5年Java,3年前端 课程知识:JavaScript.Html.Css 课程目标:前端体系课程,逐步深入,找到一份前端工作 课程大纲:本书目录结构 适合人群:前端初学者,可以0基础,但要认真,踏实 课程回顾 1.静态项目基本结构:html.css.js.images 2.文件的方式引入一个JavaScript脚本文件:引入方式.引入路径 3.变量编写Hello,world:变量的定义,使用变量. 补充:变量在讲

Java系列笔记(1) - Java 类加载与初始化

目录 类加载器 动态加载 链接 初始化 示例 类加载器 在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用. 每个类编译后产生一个Class对象,存储在.class文件中,JVM使用类加载器(Class Loader)来加载类的字节码文件(.class),类加载器实质上是一条类加载器链,一般的,我们只会用到一个原生的类加载器,它只加载Java API等可信类,通常只是在本地磁盘中加载,这些类一般就够我们使用了.如果我们需要从远

老白的JAVA课程14 GUI 窗口的设置

项目驱动 需求分析-系统设计-编码-测试-维护期 GUI Swing程序的建立步骤 1.建立容器-可以容纳其他图形对象的类,容器中还可以添加容器 2.建立组件-组件就是一套图形对象 3.将组件放到容器当中-将创建好的对象添加到容器中,才能在窗口中显示 4.设置布局 JFrame:带有标题和边框的顶级窗口 JPanel:就是一个矩形的区域,其中可以包含图形组件,也可以包含其他JPanel JApplet:在浏览器中运行的容器 JScrollpane:一种可以实现水平或垂直滚动条的容器 JDiolo