導航:首頁 > 編程語言 > java如何調用函數

java如何調用函數

發布時間:2022-10-02 21:56:19

『壹』 java如何調用另個程序的main函數

Main方法是用static修飾的,有2種方法可以調用:

1、類名.main(參數);

2、new創建實例,實例.main(參數);

這個地方注意必須傳遞字元串數組的參數 或者 null !另外舉一個用反射機制調用Main方法的例子。

這個類是被調用的main方法類:

Java代碼:

public class Run

{

public static void main(String[] args)

{

String str=args[0]+"Hello World";

System.out.println(str);

}

}

下面是調用main方法的類:

Java代碼:

public class JobRun

{

public static void main(String[] args)

{

String idStr = "YAya";

try

{

Method method = Run.class.getMethod("main", String[].class);

method.invoke(null, (Object) new String[] { idStr });

}

catch (Exception e)

{

e.printStackTrace();

}

}

}

(1)java如何調用函數擴展閱讀:

main方法是一個特殊的方法,是程序執行的入口,一個Java程序從main方法開始執行。Java虛擬機在執行Java程序之前會事先分配一個主線程,然後在主線程裡面執行我們這個main方法。

線程就是一個程序裡面不同的執行路徑!總之,就記住,Java程序從main方法開始執行,

比如:

public static void main(String[] args) {

System.out.println("nihao");

}

在這里當程序運行的時候,從main方法進來,然後做的第一件事就是System.out.println("nihao");

注意: main方法執行結束,程序也就執行結束了!

『貳』 java中一個函數如何多次調用另一個函數

java中要多次調用函數(方法),無參數的函數(方法)只需寫上函數名即可,有參數的函數(方法)把參數傳進來即可。
具體事例代碼如下:
public class Demo {
public static void main(String[] args) {
int a = a(2);//第一次調用
int b = a(4);//第二次調用
}
private static int a(int i){
return i;
}
}
要注意的是:在調用沒有返回值的函數(方法)時,不能給變數賦值,因為函數(方法)本身沒有返回值,就沒有值賦值給變數了。

『叄』 java中一個類怎麼調用另一個類中的函數

首先這兩個類不在同一個包
1 在usermn中導包
import md.md5;
2.在usermn中創建md5的對象
md5 XX = new md5();
接下來就可以用XX.getMD5ofStr(String inbuf);
調用到md5類裡面的函數

滿意請採納 多謝合作!!

『肆』 java中含參函數怎麼調用

系統不會在調用有參構造方法的時候自動調用無參構造方法。需要自己手工實現
1、在有參構造函數中調用無參構造函數
例如:
public
class
ta{
public
ta(){//定義無參構造函數
}
public
ta(int
a){//定義有參構造函數
this();//調用無參構造函數
}}

『伍』 java 內部類怎麼調用外部類的函數

你好!
方法1:定義內部類的一個對象,用該對象調用外部類的成員函數
方法2:直接用語句:this.外部類的成員函數名。
僅代表個人觀點,不喜勿噴,謝謝。

『陸』 JAVA如何調用C函數

要在java中調用c語言的庫,需要使用Java提供了JNI。
舉例說明
在c語言中定義一個 void sayHello()函數(列印Hello World);然後在Java中調用這個函數顯示Hello Word.
現在分別從Java和C語言兩部分說明:
1. Java 部分
首先定義一個HelloNative,在其中申明sayHello函數,函數要申明為Native 類型的.如下:
public class HelloNative {
public native void sayHello();
}

編譯這個類,生成class文件:
javac HelloWorld.java

利用javah生成需要的h文件
javah HelloNative

生成的 h文件大概如下:

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloNative */

#ifndef _Included_HelloNative
#define _Included_HelloNative
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HelloNative
* Method: sayHello
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_HelloNative_sayHello
(JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif

可以看一下上面自動生成的程序,程序include了jni.h,這個頭文件在 $JAVA_HOME下的include文件夾下. 還可以發現生成的函數名是在之前的函數名前面加上了Java_HelloNative。
2. C語言部分
根據上面生成的h文件編寫相應的代碼實現,建立一個 HelloNative.cpp用來實現顯示Hello World的函數.如下:

#include <stdio.h>
#include "HelloNative.h"

JNIEXPORT void JNICALL Java_HelloNative_sayHello(JNIEnv *, jobject)
{
printf("Hello World!\n");
}

代碼編寫完成之後,我們再用gcc編譯成庫文件,命令如下;
gcc -fPIC -I/usr/lib/jvm/java-7-openjdk-i386/include -I/usr/lib/jvm/java-7-openjdk-i386/include/linux -shared -o libHelloNative.so HelloNative.cpp

這樣就會在當前目錄下生成一個libHelloNative.so的庫文件.這時需要的庫已經生成,在C語言下的工作已經完成了.
接下來需要在Java中編寫一個程序測試一下.在程序前,需要將我們的庫載入進去.載入的方法是調用Java的 System.loadLibrary("HelloNative");

public class TestNative
{
static {
try {
System.loadLibrary("HelloNative");
}
catch(UnsatisfiedLinkError e) {
System.out.println( "Cannot load hello library:\n " + e.toString() );
}
}
public static void main(String[] args) {
HelloNative test = new HelloNative();
test.sayHello();
}
}

但是再編譯後,運行的時候,問題又出現了.
Cannot load hello library:
java.lang.UnsatisfiedLinkError: no HelloNative in java.library.path
Exception in thread "main" java.lang.UnsatisfiedLinkError: HelloNative.sayHello()V
at HelloNative.sayHello(Native Method)
at TestNative.main(TestNative.java:13)

載入庫失敗,但是庫明明就是放在當前文件夾下的,怎麼會載入失敗呢?
用System.getProperty("java.library.path")查看,發現java.library.path中並不u存在當前的目錄.主要有以下的幾個解決辦法:
1) 將生成的庫復制到java.library.path有的路徑中去,當然這樣不是很好
2) 設置環境變數export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ,將當前的目錄加入到LD_LIBRARY_PATH中
3) 設置java 的選項,將當前的目錄加入到其中 .java -Djava.library.path=. $LD_LIBRARY_PATH
這樣之後程序就能夠成功的運行了.可以看見顯示的"Hello World!"了

『柒』 java 函數調用

貌似你的第一個類和後面的代碼沒什麼聯系吧。然後你把第二個類的代碼寫了兩次。如果我沒看錯的話,應該是完全一樣的。然後你在第二個類中將一個函數遞歸調用,並把參數原封不動地傳來傳去。估計是你打錯了吧。你想寫的是不是
gouzao_hanshuyong1.java:
public class gouzao_hanshuyong1 {
int a = 123;
void hanshu_1() {
System.out.print("hanshu_1" + a);
}}

gouzao_hanshuyong2.java:
class gouzao_hanshuyong2{
public static void main(String[] args) {
hanshu_2(new gouzao_hanshuyong1());
}
public static void hanshu_2(gouzao_hanshuyong1 g)
{g.hanshu_1();}
}
如果是這樣的話,運行結果應該是hanshu_1123
如果不是,請把你的問題說的清楚點,或者說明一下你的程序是要幹嘛

『捌』 JAVA中定義了函數,有返回值,怎麼調用

sum是在方法中,當這個方法執行完之後,sun就消失了。調用的話可以在主方法或者其他方法中定義
int
sum
=
add(1,2);返回值就賦值給新的sum了。至於列印的話,直接在return前面加個輸出語句就行了。
system.out.println("sum是:"+sum);

『玖』 java函數調用(在一個類中怎麼調用另一個類的變數和函數)

import java.util.Scanner;

public class Student {//帶有主函數的類,Score類在下面
String name;
Score score=new Score();//此句有重大嫌疑

public String introce()
{

return(name+"\t"+score.java+"\t"+score.db+"\t"+score.c+"\t"+score.sum()+"\t"+score.avg());//name之後的全部顯示為0
}

public static void main(String args[])
{
Student stu[]=new Student[10];
Score score[]=new Score[10];
Scanner in=new Scanner(System.in);

for(int i=0;i<3;i++)
{
stu[i]=new Student();
score[i]=new Score();
System.out.println("學生"+(i+1)+"的名字:");
stu[i].name=in.next();
System.out.println("學生"+(i+1)+"java成績:");
score[i].java=in.nextFloat();
System.out.println("學生"+(i+1)+"DB成績:");
score[i].db=in.nextFloat();
System.out.println("學生"+(i+1)+"C語言成績:");
score[i].c=in.nextFloat();
}
System.out.println("姓名\tjava成績\tDB成績是\tc語言成績\t總成績\t平均成績");
for(int j=0;j<3;j++)
{
System.out.println(stu[j].introce());
}

}
} //錯誤之二:少了一個右邊大括弧,造成第一個類不完整
class Score {//score類 錯誤地方一:在一個java文件中只允許有一個功能類 去掉public 就好了

float java,db,c;
public float sum()
{
float ssum=java+db+c;
return ssum;
}
public float avg()
{
return sum()/3;
}
}

閱讀全文

與java如何調用函數相關的資料

熱點內容
php查殺軟體 瀏覽:875
教育管理學pdf 瀏覽:545
伺服器均衡怎麼使用 瀏覽:622
linux中jps 瀏覽:952
單片機實驗感想 瀏覽:560
程序員級別數學演算法邏輯 瀏覽:899
2k21公園怎麼換伺服器 瀏覽:724
php釋放資料庫連接 瀏覽:722
php網頁抓取工具 瀏覽:726
android設置對齊方式 瀏覽:23
linux創建網頁 瀏覽:280
凈化車間門演算法 瀏覽:934
安卓怎麼搞jpg 瀏覽:546
如來佛祖命令雷神去下界 瀏覽:856
新電腦管家下載好怎麼解壓 瀏覽:530
php獲取介面數據 瀏覽:767
最後的命令 瀏覽:921
如何添加手機app桌面快捷圖標 瀏覽:427
ui設計師與程序員 瀏覽:418
壽司pdf 瀏覽:828