`
qiezi
  • 浏览: 497181 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

动静结合的语言?

阅读更多
静态类型和动态类型各有长短,为何不让这2者兼得呢?

比如一段代码:
String str = "Hello, World";
dynamic str1 = str.substring(7);
dynamic str2 = str1.toLowerCase();
dynamic str3 = str2.toUpperCase();

只需要一个关键字表明它是一个动态类型,并给它加上一个wrapper类,然后把方法调用扩展成一个send方法,我假想的编译器展开后结果是这样的:
String str = "Hello, World";
Dynamic str1 = new Dynamic(str.substring(7);
Dynamic str2 = new Dynamic(str1.send("toLowerCase"));
Dynamic str3 = new Dynamic(str2.send("toUpperCase"));

剩下的工作好办了,只要支持反射的语言都可以完成。

完整测试代码:
class Dynamic{
	private Object object;
	
	public Dynamic(Object object){
		this.object = object;
	}
	
	public Object send(String methodName, Object ... args) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException{
		Class[] classes = new Class[args.length];
		for(int i=0; i<args.length; ++i)
			classes[i] = args[i].getClass();
		Method method = object.getClass().getMethod(methodName, classes);
		return method.invoke(object, args);
	}
	
	public String toString(){
		return object.toString();
	}
}

public class Test {

	public static void main(String[] args) throws SecurityException, IllegalArgumentException, NoSuchMethodException, IllegalAccessException, InvocationTargetException {
		String str = "Hello, World!";
		Dynamic str1 = new Dynamic(str.substring(7));  // dynamic str1 = str.substring(7);
		System.out.println(str1);
		Dynamic str2 = new Dynamic(str1.send("toLowerCase"));  // dynamic str2 = str1.toLowerCase();
		System.out.println(str2);
		Dynamic str3 = new Dynamic(str2.send("toUpperCase"));  // dynamic str3 = str2.toUpperCase();
		System.out.println(str3);
	}
}
分享到:
评论
2 楼 qiezi 2007-01-07  
一种从来没在其它语言中看到过的用法,居然是没什么新意?当然这只是我的想法,发出来也没打算有人给我评个“新意票”。。:oops:

现在大部分静态语言都面临着无缝联接脚本语言的问题,看看C++,应用比较广泛的做法有COM、XPCOM,其它的比如嵌入式脚本。Java能好到哪去呢?即便是Java6的脚本引擎,也还是不能算平滑无缝联接。

语言都是朝简化代码的方向走的,ruby可以使用ERB来平滑地用自身来解析执行外部模板,java不正缺这个东西吗?我简单地用过 velocity, jsf,它和java已经没什么关系了,而ERB和ruby是一体的。
1 楼 taowen 2007-01-05  
兼顾了静态语言和动态语言的缺点……呵呵,太尖锐了。不过的确是没有什么新意啊。

相关推荐

    四年级作文动静结合写景片段训练.doc

    【动静结合写景片段训练】是一种写作技巧,常用于描绘自然景观或人文环境,使得文章更具生动性和层次感。在四年级作文教学中,引导学生掌握这种手法有助于提高他们的观察力和表达能力。 动静结合的基本理念是将动态...

    写作手法——动静结合.doc

    2. **凸显语言艺术性**:通过独特的视角和表达方式,动静结合使得语言更加艺术化,展现出作者的创新思维和表达技巧。 3. **展现人物或作者的心境**:通过动静结合,作者可以微妙地传达人物的内心情绪,或展示自己的...

    一种基于Java虚拟机的动静结合自适应优化方法.zip

    本文将深入探讨基于Java虚拟机的动静结合自适应优化方法,这是一种旨在提高Java应用程序性能的技术。 一、动态优化与静态优化 在Java虚拟机中,优化主要分为静态优化和动态优化。静态优化是在编译阶段进行的,例如...

    动静结合的二阶SQL注入漏洞检测技术.pdf

    本文提出了一种动静结合的二阶SQL注入漏洞检测技术,其旨在有效检测Web应用程序中二阶结构化查询语言(SQL)注入漏洞。二阶SQL注入是指攻击者注入的恶意SQL代码在经过数据库处理后才表现出来,这为传统的SQL注入检测...

    一种基于Java虚拟机的动静结合自适应优化方法.pdf

    针对题目中给出的内容,以下是对【一种基于Java虚拟机的动静结合自适应优化方法.pdf】文档中所涉及的知识点的详细说明: 1. Java虚拟机(JVM)基础: Java虚拟机是运行Java程序的核心引擎,负责将Java字节码转换为...

    语文五年级上册读写结合点.pdf

    11. 《威尼斯的小艇》:模仿作者的写作手法,描写熟悉景物,强调抓住景物特点并结合人物活动,采用动静结合的方式,提高景物描写的生动性。 这些训练点旨在循序渐进地培养学生的阅读理解力,激发其创造力,提升写作...

    2020年高考语文一轮复习核心梳理固根基1.3.2.5语言艺术的鉴赏和评价新人教版2.doc

    动静结合,使场景更具生动性;点面结合,既展现全局又聚焦细节;细描和白描则是两种不同的叙述风格,细描详尽入微,白描则简约而传神。 在表现手法上,小说常采用象征、悬念、铺垫、衬托、对比、抑扬、照应、巧合和...

    教育科研-学习工具-DSI动静间隔教学法.zip

    DSI教学法正是将这两种理论结合,通过动静结合的方式,帮助学生更好地吸收和巩固知识。 二、DSI教学法的实施步骤 1. 动态阶段(Dynamic Phase):教师会设计一些互动性强、能调动学生身体参与的活动,如角色扮演、...

    小班语言活动《小树长大了》.doc

    6. **教学反思**:教师在活动后进行了教学反思,认识到在活动中存在的问题,如幼儿注意力分散、台上台下互动不足等,并提出了改进措施,如增加幼儿口语表达的机会,采用动静结合的方式保持幼儿的兴趣。 7. **教育...

    幼儿园小班语言公开课教案《甜甜的小嘴巴》含反思.pdf

    活动反思部分,教师分享了在实际教学中如何根据孩子们的特性,如好动、语言发展阶段的特点,设计动静结合的教学方式,以提高孩子们的学习兴趣和参与度。教师强调了鼓励孩子们大胆发言,即使他们的发音可能不够清晰,...

    2020年高考语文一轮复习(核心梳理 固根基)1.3.2.5语言艺术的鉴赏和评价 新人教版.doc

    描写和抒情是散文的重点,如描写手法中的动静结合、虚实相生等,抒情方式则有直接抒发和间接抒发。表现手法如联想想象、比喻象征、对比衬托、欲扬先抑、虚实结合等,丰富了散文的表现力。 散文的语言特色各异,如...

    小学语文反义词中班语言活动找反义词教案

    10. 教学策略:教师运用多元化的教学手段,如视觉、听觉刺激,以及动静结合的方式,以吸引幼儿注意力,培养他们的观察力、想象力和口语表达能力。 总的来说,这个中班语言活动教案充分体现了以幼儿为中心的教学理念...

    -动静聊天室(asphtmlchat) v9.0 豪华版

    总之,动静聊天室(asphtmlchat) v9.0 豪华版提供了强大的聊天功能,结合ASP和HTML技术,为企业和网站提供了一种便捷的在线交流解决方案。通过合理配置和使用,可以极大地提升网站的互动性和用户体验。

    幼儿园中班语言说课稿:快乐的果园.doc

    【知识点】 1. 幼儿园教育理念:此活动遵循幼儿园的教学原则,旨在通过互动和体验,让孩子们在轻松愉快的环境中学习和成长。...活动设计注重动静结合,寓教于乐,使孩子们在享受学习过程的同时,也感受到生活的美好。

    室内设计语言表达方式整理.doc

    - **室内外融合**:通过设计将室内外环境结合,实现动静结合。 6. **情感共鸣**: - **生活格调**:设计提升生活品质,注入活力,促进家庭和谐。 - **文化与简约**:简约风格与文化元素的结合,赋予空间精神和...

    五年级语文下册 第七单元 语文园地七教案 新人教版-新人教版小学五年级下册语文教案.doc

    这篇文档是针对小学五年级语文下册第七单元的“语文园地七”的教案,主要目的是教授学生如何观察、欣赏并描述景物,以及如何通过动静结合的手法来增强描绘景物的魅力。教案分为多个部分,旨在提升学生的语言表达能力...

    部编人教版五年级下册语文 第七单元 语文园地七 同步练习(课时练).pdf

    综上所述,本资料中的知识点包括:静态描写与动态描写的区别和运用,景物描写技巧,动静结合的写作手法,以及如何通过细致入微的语言表达和比较手法来突出事物的特点。这些都是在语文学习中,尤其是写作训练中需要...

    幼儿园教案2021-小班语言活动《小树长大了》.doc

    针对这些问题,教师反思了活动设计,指出应该更多地给予孩子们表达的机会,鼓励他们在活动中大胆发言,同时强调活动应保持孩子们的兴趣,采取动静结合的方式,如通过故事表演来巩固学习内容,提高孩子们的参与度和...

    五年级语文下册 第七单元 语文园地七精品教案 新人教版-新人教版小学五年级下册语文教案.docx

    通过动静结合的写作手法,展现了乡村的宁静与生机,动静之美在教学中得到了强调,让学生学会如何在写作中运用这种技巧,使文字更加生动。同时,通过对《乡村四月》古诗的学习,学生不仅能理解诗歌的含义,还能感受...

Global site tag (gtag.js) - Google Analytics