程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> flex remoteobject 調用java重載函數

flex remoteobject 調用java重載函數

編輯:JAVA綜合教程

flex remoteobject 調用java重載函數


版本:

flex sdk:3.2,jdk:1.7;intellij idea14; flex builder3;

問題說明:

在使用actionscript的remoteObject調用java的重載方法時,是否可以調用?是否調用的是重載的方法?

實驗:

1. java後台代碼:

 public  String test1(int info){
        System.out.println("int:"+info);
        return "int:"+info;
    }
    public  String test1(float info){
        System.out.println("float:"+info);
        return "float:"+info;
    }
    public  String test1(double info){
        System.out.println("double:"+info);
        return "double:"+info;
    }
    public  String test1(long info){
        System.out.println("long:"+info);
        return "long:"+info;
    }
    public  String test1(String info){
        System.out.println("String:"+info);
        return "String:"+info;
    }
2. flex前台代碼:

 

 

function testForOverload(type:String):void{
				
				if("1"==type){
					var info :int = 3;
					hDFSFileUtil.test1(info);
				}
				
				if("2"==type){
					var info2 :String = "str3";
					hDFSFileUtil.test1(info2);
				}
				
				if("3"==type){
					var info3:Number =new Number(33);
					hDFSFileUtil.test1(info3);
				}
				
			}
<mx:button label="測試1" click="testForOverload('1')" visible="true">
		<mx:button label="測試2" click="testForOverload('2')" visible="true">	<mx:button label="測試3" click="testForOverload('3')" visible="true"></mx:button></mx:button></mx:button>
直接點擊“測試1”、“測試2”、“測試3”button,發現調用的分別是long,string ,long ,這說明flex中的string 和int/Number是可以區分的;但是int/Number轉過來到java,是哪種類型呢?是long麼?

實驗:

調整java後台的前面四個函數的位置,發現不管哪個函數,如果是在最後(正常排序),那麼就調用的是那個;比如把double函數移到string函數的前面,那麼java調用的就是double;

總結:

這個圖是從flex4的文檔來的,可以看到在基本類型從flex傳到java時,int類型被序列化成Integer、Number被序列化成Double,然後在java端接收。但是,在java端接收可以有多種類型來接收的;

所以,結論是:flex調用java端的重載函數,在一定程度上是可以的;(這裡需要注意flex本身是不支持重載的)但是有些時候可能有問題;所以最好是定義不同的函數名;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved