动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息



本月文章推荐
.Java开发图文混排的编辑器.
.技术分析:将Web站点转换为Web服务.
.java初学者常用开发工具介绍.
.关于UDDI的实现.
.献给面向对象的人:面向对象的思.
.Java能够成为完美的技术平台吗?.
.使用Observer模式.
.如何遍历并执行一个对象的所有可.
.21天学通J2EE3.
.Happy New Year! 第一个XSP程序.
.SpringFramework 入门实用攻略.
.Eclipse中插件开发之SQLExplorer.
.Java学习从入门到精通(1).
.jetspeeed简单开发文档.
.Java 理论与实践: 良好的内务处理.
.在Eclipse中使用Hibernate一(组图.
.为何要使用 UML?.
.关于快速简便的使用AJAX技术操作.
.Java & XML基础学习笔记 SAX篇.
.eclipse反编译插件Jadclipse介绍.

SAS9新体验:在DATA STEP中使用JAVA对象

发表日期:2008-1-5 |


  简介:DSCI提供建立和处理组件对象在DATA STEP程序中,JavaOBJ就是这样的一个对象,其提供类似JNI的机制,可实例化JAVA类,访问对象属性和方法

  定义JAVA对象

  其由DECLARE语法支持:


  declare javaobj j("类名");
  这样将定义和存储一个对象的实例在标量J中, JAVAOBJ会将JAVA CLASSPATH下的someJavaClass实例化呈现出来
  典型的,为确保实例化J只一次,可以这样做


  if _N_ = 1 then do;
  declare javaobj j("someJavaClass");
  end;
  JAVAOBJ也能使用_new_ 语法进行实例化


  declare javaobj j;
  j = _NEW_ javaobj("someJavaClass");

  构造参数

  JAVAOBJ构造一个对象的实例的第一个参数是JAVA类的名字,如建立一个hashtable对象


  declare javaobj h("java/util/Hashtable");
  其他相应的参数也可以依次传给java class本身

  如建立一个容量为100、系数为0.8的hashtable对象,我们应该封装java/util/Hashtable类且在DATA STEP中实例化它


  import java.util.*;

  public class mhash extends Hashtable
  {
  mhash(double size, double load)
  {
  super((int)size, (float)load);
  }
  }

  declare javaobj h("mhash", 100, .8);

  
  封装类是必须的,因为DATA STEP中的数字类型对应JAVA中的double

  访问对象属性
  一旦对象被实例化,JAVAOBJ是容许用户用方法访问和修改对象属性,如设想我们由这样一个类


  import java.util.*;
  import java.lang.*;
  public class ttest
  {
  public int    i;
  public double d;
  public String s;
  }





  我们建立这个类的实例,用set/get访问对象属性在下列程序中


  data _null_;
  dcl javaobj j("ttest");
  length val 8;
  length str $20;
  j.setIntField("i", 100);
  j.setDoubleField("d", 3.14159);
  j.setStringField("s", "abc");

  j.getIntField("i", val);
  put val=;
  j.getDoubleField("d", val);
  put val=;
  j.getStringField("s", str);
  put str=;
  run;

  set/get方法的第一个参数是属性名,第二个参数是get/set的变量或值

  访问对象方法
  可以把上面的类改造成这样


  import java.util.*;
  import java.lang.*;
  public class ttest
  {
  public int    i;
  public double d;
  public String s;

  public int im()
  {
  return i;
  }

  public String sm()
  {
  return s;
  }

  public double dm()
  {
  return d;
  }
  }


  我们可以通过javaobj方法调用访问java 值,如


  data _null_;
  dcl javaobj j("ttest");
  length val 8;
  length str $20;
  j.setIntField("i", 100);
  j.setDoubleField("d", 3.14159);
  j.setStringField("s", "abc");





  j.callIntMethod("im", val);
  put val=;
  j.callDoubleMethod("dm", val);
  put val=;
  j.callStringMethod("sm", str);
  put str=;
  run;

  注:方法的返回值总是被指定为最后一个参数,例如,我们有个返回为double的方法


  public double m(double x, double y)
  {
  return x * y;
  }

  那么在DATA STEP中调用该方法用下列语法


  length val1 val2 ret 8;
  j.callDoubleMethod("m", val1, val2, ret);

  访问类的属性和方法

上一篇:使用Java将Word转为Html或txt! 人气:451
下一篇:用Java将文件名从中文转为拼音 人气:396
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-24 Sablog-X v2.0 预览版
2008-7-24 帝国备份王EmpireBak 2008 正式版
2008-7-24 网趣网上购物系统时尚版 v8.2
2008-7-24 纵横B2B电子商务系统XYECS!B2B v
2008-7-24 e路小说小偷 v1.2.0723
2008-7-24 凌风美女图片站程序 v2.2
2008-7-24 TOM15电影收索程序
2008-7-24 清风信息自动采集生成系统 v1.0
2008-7-24 QQ邮箱编辑器 v1.0 (小小菜刀ASP
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵