當前位置:首頁 » 編程語言 » 訪問java

訪問java

發布時間: 2022-08-21 23:02:13

㈠ android ndk怎麼訪問java中方法

Android.mk文件:

LOCAL_SRC_FILES參數用空格隔開
[c-sharp] view plainprint?
LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:=native
LOCAL_SRC_FILES:=geolo.cpp my_jni.h
include $(BUILD_SHARED_LIBRARY)

2. geolo.cpp
先用FindClass方法找到java類,有點類似java的反射用LoadClass
再用CallObjectMethod方法調用Java類的函數。

[c-sharp] view plainprint?
#include "my_jni.h"
jobject getInstance(JNIEnv* env, jclass obj_class){
jmethodID construction_id = env->GetMethodID(obj_class, "<init>", "()V");
jobject obj = env->NewObject(obj_class, construction_id);
return obj;
}
JNIEXPORT jstring JNICALL Java_com_easepal_geolo_CActivityMain_stringFromJNI(JNIEnv* env, jobject thiz){
jstring str;
jclass java_class = env->FindClass("com/easepal/geolo/CForCall");
if (java_class == 0){
return env->NewStringUTF("not find class!");
}
jobject java_obj = getInstance(env, java_class);
if (java_obj == 0){
return env->NewStringUTF("not find java OBJ!");
}
jmethodID java_method = env->GetMethodID(java_class, "GetJavaString", "()Ljava/lang/String;");
if(java_method == 0){
return env->NewStringUTF("not find java method!");
}
str = (jstring)env->CallObjectMethod(java_obj, java_method);
return str;
}
3. my_jni.h

[c-sharp] view plainprint?
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_easepal_geolo_CActivityMain */
#ifndef _Included_com_easepal_geolo_CActivityMain
#define _Included_com_easepal_geolo_CActivityMain
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_easepal_geolo_CActivityMain
* Method: stringFromJNI
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_com_easepal_geolo_CActivityMain_stringFromJNI(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif

4. CActivityMain.java

[c-sharp] view plainprint?
package com.easepal.geolo;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class CActivityMain extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText( stringFromJNI("hello") );
setContentView(tv);
}

static {
System.loadLibrary("native");
}
public native String stringFromJNI(String str);
}

5. CForCall.java

[c-sharp] view plainprint?
package com.easepal.geolo;
public class CForCall{
public CForCall(){};
//public ~CForCall(){};
public String GetJavaString(){
String str;
str = "123456";
return str;
}
}

㈡ 怎麼樣快速訪問 java文件 location

你所說的java文件是什麼文件?如果是java源碼文件是不能調用的,但如果是編譯後的class文件可以通過類載入器進行載入,然後通過反射調用;但一般會通過實現特定的介面來簡化調用過程。一個自定義的類載入器如下 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

class MyClassLoader extends ClassLoader {
//類載入器的名稱
private String name;
//類存放的路徑
private String path = "E:\\bin";
MyClassLoader(String name) {
this.name = name;
}
MyClassLoader(ClassLoader parent, String name) {
super(parent);
this.name = name;
}
/**
* 重寫findClass方法,載入特定目錄下的類文件
*/
@Override
public Class<?> findClass(String name) {
byte[] data = loadClassData(name);
return this.defineClass(name, data, 0, data.length);
}
public byte[] loadClassData(String name) {
try {
name = name.replace(".", "//");
FileInputStream is = new FileInputStream(new File(path, name + ".class"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int b = 0;
while ((b = is.read()) != -1) {
baos.write(b);
}
return baos.toByteArray();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}

㈢ java訪問許可權控制問題

默認訪問許可權(包訪問許可權):如果一個類的方法或變數被包訪問許可權修飾,也就意味著只能在同一個包中的其他類中顯示地調用該類的方法或者變數,在不同包中的類中不能顯示地調用該類的方法或變數。
private:如果一個類的方法或者變數被private修飾,那麼這個類的方法或者變數只能在該類本身中被訪問,在類外以及其他類中都不能顯示地進行訪問。
protected:如果一個類的方法或者變數被protected修飾,對於同一個包的類,這個類的方法或變數是可以被訪問的。對於不同包的類,只有繼承於該類的類才可以訪問到該類的方法或者變數。
public:被public修飾的方法或者變數,在任何地方都是可見的。

㈣ 什麼是Java類的訪問許可權

在解釋訪問許可權控制之前,先看一個場景。

在學生信息管理系統中,有兩個類,分別是學生類和課程類,課程類提供了課程表和課程安排兩個方法,學生類可以調用課程類提供的課程表查看課程安排,但不能調用課程安排方法,該如何處理,此時就可以利用訪問許可權來進行控制。

在Java中,提供了四種訪問許可權控制:默認訪問許可權(包訪問許可權),public,private以及protected。

默認訪問許可權(default):即不加任何訪問修飾符,通常稱為「默認訪問模式「。該模式下,只允許在同一個包中進行訪問。

private: 對訪問許可權限制的最窄的修飾符,一般稱之為「私有的」。被其修飾的類、屬性以及方法只能被該類的對象訪問,其子類不能訪問,更不能允許跨包訪問。

protect: 介於public 和 private 之間的一種訪問修飾符,一般稱之為「保護的」。被其修飾的類、屬性以及方法只能被類本身的方法及子類訪問,即使子類在不同的包中也可以訪問。

public: Java語言中訪問限制最寬的修飾符,一般稱之為「公共的」。被其修飾的類、屬性以及方法不僅可以跨類訪問,而且允許跨包(package)訪問。下表列出了四種訪問許可權的控制粒度:

packagecom.cxh.test1;
classPeople{//默認訪問許可權(包訪問許可權)
privateStringname=null;
publicPeople(Stringname)
{
this.name=name;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname)
{
this.name=name;
}
}

從代碼可以看出,修飾People類採用的是默認訪問許可權,而由於People類和Main類在同一個包中,因此People類對於Main類是可見的。

㈤ 如何在 Web 瀏覽器中啟用 Java

請按照以下說明通過您的 Web 瀏覽器啟用 Java:

適用於 Windows 的瀏覽器
Internet Explorer
單擊工具,然後單擊 Internet 選項
選擇安全選項卡,選擇自定義級別按鈕
向下滾動到 Java 小應用程序腳本
確保選中啟用單選按鈕
單擊確定保存您的首選設置
Chrome
單擊扳手圖標,然後選擇選項。
依次選擇高級選項和隱私內容設置。
將顯示「內容設置」面板。
在插件部分,選擇禁用單獨插件鏈接以檢查是否已啟用 Java
單擊啟用鏈接(如果顯示「禁用」鏈接,則已啟用 Java)
注意:此外,您也可通過在瀏覽器地址欄中 鍵入「about:plugins」 來訪問「插件」設置。

適用於 Windows 和 Mac OS X 的瀏覽器
Firefox
啟動 Mozilla Firefox 瀏覽器,如果該瀏覽器正在運行,則重新啟動它。
在瀏覽器頂部,選擇 Firefox 按鈕(或 Windows XP 中的工具菜單),然後選擇附加組件
此時將打開「附加組件管理器」選項卡。
在「附加組件管理器」選項卡中,選擇插件
單擊 Java (TM) 平台插件以將其選定
單擊啟用按鈕(如果按鈕顯示為禁用,則 Java 已啟用)
Safari
啟動 Safari 瀏覽器
單擊「Safari」並選擇首選項
單擊安全選項卡
選中(選擇)啟用 Java 復選框
關閉「Safari 首選項」窗口
Opera 4.x 及更高版本
適用於 Windows 的 Opera 不使用 Java,但是 Opera Web 瀏覽器中已嵌入了 Java。
適用於其他平台的 Opera 可支持 Java。請參見 Opera 平台文檔。
有關詳細信息,請參見以下 Opera 支持文檔:
Opera 中的 Java 軟體支持
搶首贊
評論
分享
舉報

河南新華電腦學院
2021-10-26 · 專注互聯網IT教育,電腦培訓院校
關注
啟動Mozilla Firefox 瀏覽器,如果該瀏覽器正在運行,則重新啟動它。
在瀏覽器頂部,選擇Firefox按鈕(或 Windows XP 中的工具菜單)...
在「附加組件管理器」選項卡中,選擇插件
單擊Java (TM) 平台插件以將其選定

㈥ JAVA 內部類訪問

外部類能訪問非靜態內部類的全部私有欄位和方法。
這是由編譯器自動產生了一些訪問器來實現的。

㈦ 如何使用Python訪問Java類

可以使用線程類來調用執行 像執行外部命令一樣 訪問具體屬性和方法的話不可以 實在不行你就用Python來實現你那個java類的功能不就得了
如有疑問追問,如滿意記得採納,
如果有其他問題也可點我名字向我求助
答題不易,
如果沒有回答完全,請您諒解,

請採納最快回答的正確答案!!謝謝!

熱點內容
領動自動精英版是哪個配置 發布:2024-05-03 18:37:30 瀏覽:149
java編譯器中cd什麼意思 發布:2024-05-03 18:36:00 瀏覽:388
傳奇伺服器如何刷錢 發布:2024-05-03 18:36:00 瀏覽:976
安卓版twitter怎麼注冊 發布:2024-05-03 18:28:05 瀏覽:893
Python邏輯優先順序 發布:2024-05-03 18:26:14 瀏覽:266
linux查看svn密碼 發布:2024-05-03 18:12:47 瀏覽:803
地鐵逃生怎麼進入游戲安卓 發布:2024-05-03 17:49:35 瀏覽:992
aws雲存儲 發布:2024-05-03 17:48:50 瀏覽:954
安卓微信王者號怎麼轉成蘋果 發布:2024-05-03 17:44:38 瀏覽:745
原子類源碼 發布:2024-05-03 17:44:19 瀏覽:165