㈠ java主函數怎麼調用方法
調用方法:先生成一個對象,用「對象.方法()」的方式調用。
調用說明:java中的main方法是靜態的,用於程序的入口,在靜態方法中無法調用非靜態方法,只能調用靜態方法。想調用靜態方法的話就要先生成該類的一個對象,通過對象調用非靜態方法。
調用舉例:
public class A{
public static void main(String[] args){
A a = new A();
a.aaa();
}
public void aaa(){}
}
㈡ Java函數調用
public class Stringcs {
int cou;
int n;
long sum;
public static void main(String[] args) { Stringcs stringcs = new Stringcs(3,4);
stringcs.cc();
System.out.println(stringcs.sum);
} //構造,傳入n個數 cou值 public Stringcs(int n,int cou) {
this.n=n;
this.cou=cou;
sum=0;
} //控制第幾次相加 public void cc(){
for (int i = 1; i <= n; i++) {
this.js(i);
}
} //累加
public void js(int ts){
long l = this.sums(ts);
sum+=l;
} //生成 a aa aaa aaa調用的方法
public long sums(int ns){
long sss=cou;
for (int i = 1; i < ns; i++) {
sss=sss*10+cou;
}
return sss;
}
}
㈢ java中方法調用時的寫法
如果是非靜態的方法1調用非靜態的方法2,那麼
非靜態方法2所在類的實例引用.非靜態方法2
public class Test{
public void getMethod(){
Test t=new Test();
t.getTwoMethod();
}
public void getTwoMethod(){
}
}
如果靜態調用靜態:
public class Test{
public static void main(String[]args){
Hello();
}
public void Hello(){
System.out.println("HELLOWORLD")
}
}
如果是繼承的話:
public class a{
public void jj(){}
}
public class b extends a {
public void hh(){
super.jj();
}
}
㈣ 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中的函數調用怎麼理解
java中把函數叫做方法!
方法就是生活中的功能,方法定義就是創建功能,方法調用就是使用功能。
我現在要輸出一個字元串,這個字元串需要上下都有一行「*」,並且要求星星的個數與輸出的字元串長度相同。如果字元串是Hello World!,那麼星星的個數是12個。
public static void main(String[] args) {
String s = "Hello World!";
int len = s.length();
for(int i = 0; i < len; i++) {
System.out.print("*");
}
System.out.println();
System.out.println(s);
for(int i = 0; i < len; i++) {
System.out.print("*");
}
System.out.println();
}
上面的代碼可以完成任務,但是如果我再要你輸出一個Hello Java!也要求用星星裝飾。你還需要把上面的代碼再打一次。這會很麻煩!這時我們可以創建一個方法,然後重復調用這個方法就可以了。也就是創建一個功能,然後重復使用這個功能!
public static void printStr(String s) {
int len = s.length();
printXing(len);
System.out.println(s);
printXing(len);
}
public static void printXing(int n) {
for(int i = 0; i < n; i++) {
System.out.print("*");
}
System.out.println();
}
public static void main(String[] args) {
printStr("Hello World!");
printStr("Hello Java!");
}
===============
方法可以重用,也就是功能一旦創建用可以多次使用!
在生活中功能是不能獨立存在的,它必須屬於某個物體,也就是對象。例如車有行駛,停止等功能,車就是對象!在Java中方法也需要指定屬於哪個對象,這樣的方法就是實例方法。
功能有時還需要有參數,例如你想使用電腦的功能,那你需要給電腦的開機方法提供電。你想使用汽車的行駛方法,你需要給車提供汽油。上面方法中printStr方法需要的參數是要輸出的字元串。
方法分類:
有參、無參
有返回值、無返回值
實例方法、靜態方法
=====
相對而言,方法還有主調與被調關系!
同一類中是否可以有兩個名稱、參數列表一樣方法呢?
編譯器如何區分方法,JVM又是如何區分方法!
Java中的getter橋方法區別在哪裡?
方法的遞歸調用!
無返回值方法如何使用return
方法的覆蓋、方法的重載
方法的修飾:abstract、final、static、native、strictfp、synchronized
===============
學習Java,理解它很重要。但理解不等於會,想學會一定要多練習!!!
有學生問過我說:「老師,你給我們打的代碼我都能看懂,但為什麼你讓我們自己打時我就打不出來了呢?一點思路都沒有了!」
理解了方法是什麼,你就會在你的程序中定義方法,調用方法了嗎?不是!你認識漢字嗎?你認識為什麼寫不出來詩呢?你能看懂李白的「將進酒」嗎?看懂了為什麼你寫不出來呢?想寫詩怎麼辦,答案是多看別人的詩,注意別人的詩在哪些地方用了哪些字!然後自己寫一些簡單的,來模仿別人的,模仿的時間長了,也就會了。
㈥ java函數調用問題
調用靜態方法可以直接用類名,調用非靜態方法必須用對象。
舉例如下:
publicclassA{
//靜態方法
publicstaticvoida1(){
System.out.println("靜態方法");
}
//非靜態方法
publicvoida2(){
System.out.println("非靜態方法");
}
}
測試類:
publicclassTest{
//main方法也是靜態的
publicstaticvoidmain(String[]args){
//創建對象
Aaa=newA();
//通過類名訪問
A.a1();
//通過對象訪問
aa.a2();
}
}
運行結果:
㈦ java 調用函數有幾種方法
在同一個類中 的方法可以直接調用。 等同於 this.method() 這里這個this.可以省略。
但是 在靜態方法中不能直接調用非靜態的方法。
再有其他的方式就是反射了 可以通過Class對象調用方法 java.lang.reflect
㈧ java函數調用
當你
informationvalue=(information)map.get(key);
System.out.println(value);
其實就是調用的 value 的toString方法
如果你沒有在information 類裡面 重寫 toString 方法的話,那麼默認調用的是 Object類的toString方法,也就是類似於輸出
student.information@25154f
這種格式
Object類中的toString類實現比較簡單,其源代碼為:
publicStringtoString(){
returngetClass().getName()+"@"+Integer.toHexString(hashCode());
}
㈨ JAVA編程。函數調用
getO().getX()是獲取Point對象 中的X getX()在Point類中 返回的是X
㈩ java Main函數怎麼調用其他函數。 其他類。
主函數main前必須有static修飾符,static表示是靜態。
一般,在靜態的方法中,若要|-直接-|調用其他方法,那麼被調用的也必須是靜態。
你的程序中包含兩個部分
方法getInt() 和主函數main 其中主函數是靜態(main必須是靜態)。
那麼要在main中直接調用getInt()是不可以了,因為getInt沒有用static修飾,也就是說getInt不是靜態。
將public void getInt() 修改成 public static void getInt() ,追加靜態修飾符static後可直接調用。
主函數main修改為
public static void main(String[] args)
{
getInt(); //這里調用了上面的方法
System.out.println("總共有括弧對數:");
}
返回值:
有些方法是帶有返回值的,取決於你的用途。能不能帶返回值取決於void修飾符
普通方法,無返回值void修飾 。如 public void fangfa()這是無返回值的
public int fangfa() 這個是有返回值的,而且返回值必須是int
舉個例子
public int getPlayercounts()
{
int playercount = 0 ;//一般先初始化一個相應的變數待用(重要)
for (int i = 0 ; i < 99 ; i ++) //一些相關的計算和方法開始..
playercount ++ ;
return playercount; //返回一個int值(重要,而且是必須)
}
當你的方法不是用void修飾 而是用其他數據類型修飾,均是要有返回值的,也就是說在方法的結束為止至少要有一個return + 相應的數據類型的變數 來結束。
那麼返回值究竟有什麼意義呢?
看下面這個例子、
public static int getPlayercounts() //注意我用了static 這是一個靜態方法
{
int playercount = 0 ;//一般先初始化一個相應的變數待用(重要)
for (int i = 0 ; i < 99 ; i ++) //一些相關的計算和方法開始..
playercount ++ ;
return playercount; //返回一個int值(重要,而且是必須)
}
public static voin main(String[] args)
{
System.out.println("一共有"+getPlayercounts()+"個玩家");
}
看出來了吧,getPlayercounts()執行後 會獲得執行時得到的int數,在一些需要最後得到某個結果的方法中,用含有返回值的方法是非常方便的。
==============================================
你的代碼完全修改後如下,因為你需要的是得到括弧數,所以將你的原有方法改成一個返回int值得方法。
public class java
{
public static int getInt()// 原來是 public void getInt() ,修改後增加了static修飾, int替換了void
{
String strChar="a(bc)()()dnn()()j";
int iX=0;
int iY=0;
for(int p=0; p<strChar.length();p++)
{
String getstr=strChar.substring(p,p+1);
if(getstr.equals("(")){iX++;}
if(getstr.equals(")")){iY++;}
}
return Math.min(iY, iX);//取兩者之間的最小值(即括弧對數)作為返回值
}
public static void main(String[] args)
{
System.out.println("總共有括弧對數:"+getInt());
}
}
郁悶 寫了半天發現你已經認可了。。