java方法引用
『壹』 java一個方法如何引用另一個方法中的變數
a()b()c()函數可以設置返回值,在gs()裡面調用三個函數,得到返回值
『貳』 java類方法如何實現引用傳遞和值傳遞
參數是基本類型就是傳值,傳對象就是引用傳遞。
swap(Integer x, Integer y)可以傳遞引用,但是沒辦法實現交換。這跟Integer的實現方式有關。所以不是引用傳遞就一定能改變外面的值。
下面是引用傳遞,交換的情況,又臭又長。
classUntitled{
intneedFix;
publicstaticvoidswap(Untitledx,Untitledy){
inttemp=x.needFix;
x.needFix=y.needFix;
y.needFix=temp;
}
publicstaticvoidmain(String[]args){
Untitle1=newUntitled();
Untitle2=newUntitled();
u1.needFix=3;
u2.needFix=4;
swap(u1,u2);
System.out.println(u1.needFix+","+u2.needFix);
}
}
另外,你可以考慮一下引用傳遞,不過也是一種傳值,java裡面沒有事實上的指針。直接交換引用指向的對象是沒有作用的。
Untitledtemp=x;
x=y;
y=temp;
無效。
『叄』 java中方法的調用
一、調用本類中的方法
方法一、被調用方法聲明為static ,可以在其他方法中直接調用。
方法二、被調用方法,沒被static修飾,不是靜態方法。調用時需要通過類的實例化進行調用。
二、調用外部的類的方法,通過類的實例化進行調用。
『肆』 JAVA 引用其他類的方法
你要通過對象調用,而不是類名調用,因為你的paint方法不是static
首先paint方法是你自己寫的,你要在構造器中調用,除非
if(ae.getSource()==bt2)
{
q2dlinecoreabc drawcore=new q2dlinecoreabc();
drawcore.paint(gc);
}
否則,paint方法 無論如何都不會被調用的
//回復
三樓大哥,這個方法我試過 ,但是編譯提示找不到符號,是變數的問題吧?如果這樣,能教我如何聲明這個變數嗎?
是不是找不到 gc?
在Applet主類,聲明全局變數Graphics gc=this.getGraphics();
其實 這個Graphics gc和你主類里 重寫的paint方法里的g是同一個對象
『伍』 java方法引用問題
public class People
{
//n表示人數!
public static void age(int n){
if(n==1) {
System.out.println("我10歲");
}else {
age(n-1);
System.out.println("我比第"+(n-1)+"個人大2歲,"+"我的歲數為"+(10+(n-1)*2));
}
}
public static void main(String[] args) {
age(5);
}
}
這已經最簡單了,遞歸要在入口函數main方法以外才好做的!主要是看age(int n)方法的演算法!
遞歸的特點是 1.esle句塊指向斷點!2.由斷點向外層執行! 要學遞歸得先學類和方法!
要核心代碼就是 age(int n)方法
『陸』 Java中的幾種引用方式
1)強引用(StrongReference)
強引用是使用最普遍的引用。如果一個對象具有強引用,那垃圾回收器絕不會回收它。當內存空間不足,Java虛擬機寧願拋出OutOfMemoryError錯誤,使程序異常終止,也不會靠隨意回收具有強引用的對象來解決內存不足的問題。
2)軟引用(SoftReference)
如果一個對象只具有軟引用,則內存空間足夠,垃圾回收器就不會回收它;如果內存空間不足了,就會回收這些對象的內存。只要垃圾回收器沒有回收它,該對象就可以被程序使用。
所以,軟引用可用來實現內存敏感的高速緩存。
軟引用可以和一個引用隊列(ReferenceQueue)聯合使用,如果軟引用所引用的對象被垃圾回收器回收,Java虛擬機就會把這個軟引用加入到與之關聯的引用隊列中。
3)弱引用(WeakReference)
弱引用與軟引用的區別在於:弱引用的對象擁有更短暫的生命周期。
在垃圾回收器線程掃描它所管轄的內存區域的過程中,一旦發現了只具有弱引用的對象,不管當前內存空間足夠與否,都會回收它的內存。不過,由於垃圾回收器是一個優先順序很低的線程,因此不一定會很快發現那些只具有弱引用的對象。
弱引用可以和一個引用隊列(ReferenceQueue)聯合使用,如果弱引用所引用的對象被垃圾回收,Java虛擬機就會把這個弱引用加入到與之關聯的引用隊列中。
4)虛引用(PhantomReference)
「虛引用」顧名思義,就是形同虛設,與其他幾種引用都不同,虛引用並不會決定對象的生命周期。
如果一個對象僅持有虛引用,那麼它就和沒有任何引用一樣,在任何時候都可能被垃圾回收器回收。
虛引用主要用來跟蹤對象被垃圾回收器回收的活動。
虛引用與軟引用和弱引用的一個區別在於:
虛引用必須和引用隊列(ReferenceQueue)聯合使用。當垃圾回收器准備回收一個對象時,如果發現它還有虛引用,就會在回收對象的內存之前,把這個虛引用加入到與之關聯的引用隊列中。
程序可以通過判斷引用隊列中是否已經加入了虛引用,來了解被引用的對象是否將要被垃圾回收。如果程序發現某個虛引用已經被加入到引用隊列,那麼就可以在所引用的對象的內存被回收之前採取必要的行動。
『柒』 java中一個方法調用另一個方法。
如果另一個類中的那個方法是私有的話,就不能直接調用到,如果是其他類型的話看情況,如果是靜態的(static)話,直接用類名可以調用到,如果是非靜態的,就需要利用另一個類的實例(也就是用那個類生成的對象)來調用。
如
class A{
public static void a(){}
public void b(){}
}
public class B{
public static void main(String[] args){
A.a();//靜態
new A().b();//非靜態
}
}
『捌』 在java中怎樣使方法調用同一個類中的方法是什麼
1、如果一個類中只有一個名稱為a的方法,那麼我們可以直接調用即可,如下圖所示
『玖』 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怎麼調用方法
java類有兩種方法一種是類方法就是用static修飾的,一種是實例方法,就是沒有static修飾的方法。類方法可以同時類名.方法名的方式調用。而實例方法必須先生存類的實例在通過實例.方法名的方式調用。例如: public class MethodCall { public static void main(String[] args) { Test.sayStatic(); Test test = new Test(); test.sayInstance(); } } class Test { public static void sayStatic() { System.out.println("這是一個靜態方法。"); } public void sayInstance() { System.out.println("這是一個實例方法。"); }