Java5.0与ActionScript3.0语法比较
来源:互联网 发布:知乎通知出现爱心 编辑:程序博客网 时间:2024/05/18 18:44
语言结构/语法Java 5.0ActionScript 3.0类包.jar.swc继承class Employee extends Person{…}class Employee extends Person{…}变量声明及初始化String firstName=”John”;
Date shipDate=new Date();
int i;
int a, b=10;
double salary;var firstName:String=”John”;
var shipDate:Date=new Date();
var i:int;
var a:int, b:int=10;
var salary:Number;未声明的变量n/avar myVar:*;变量作用域声明在花括号内的,作用域也在括号内。
声明在函数里的,作用域即在函数里。
成员变量:声明在类里。
没有全局变量。没有花括号作用域,最小的作用域范围是方法。
声明在函数里的,作用域即在函数里。
成员变量:声明在类里。
如果一个变量的声明不在任何类或方法里,那么它就是全局变量。字符串不可变类不可变类分号终结符必须的如果一条语句一行的话,你可以省略分号。严格等于号n/a===
严格不等号:!==常量符号关键字 final
final int STATE= 1;关键字const
const STATE:int = 1;类型检查静态的 (在编译时检查)动态的 (在运行时检查) 和静态的(也叫‘strict mode’, 在 Flex Builder中是默认的)类型检查符instanceofis – 检查数据类型, 例如 if (myVar is String){…}as操作符n/a很像is操作符, 但是返回值不是布尔型而是表达式:
var orderId:String=”123”;
var orderIdN:Number=orderId as Number;
trace(orderIdN);//prints 123原始类型byte, int, long, float, double,short, boolean, char所有的原始类型在ActionScript中都是对象。
Boolean, int, uint, Number, String
下面两行是相同的
var age:int = 25;
var age:int = new int(25);复杂类型n/aArray, Date, Error, Function, RegExp, XML, and XMLList数组的声明与实例化int quarterResults[];
quarterResults =
new int[4];
int quarterResults[]={25,33,56,84};var quarterResults:Array
=new Array();
or
var quarterResults:Array=[];
var quarterResults:Array=
[25, 33, 56, 84];
AS3也有以命名的方式代替元素序号的数组,类似Hashtable。最基础的对象ObjectObject类型转换语法: 将Object类转为PersonPerson p=(Person) myObject;var p:Person= Person(myObject);
或者
var p:Person= myObject as Person;向上声明class Xyz extends Abc{}
Abc myObj = new Xyz();class Xyz extends Abc{}
var myObj:Abc=new Xyz();包package com.xyz;
class myClass {…}package com.xyz{
class myClass{…}
}
ActionScript的包不仅能包含类,也能包含独立的方法。类访问级别public, private, protected
如果没有说明,该类就是能在包内访问。public, private, protected
如果没有说明,类就是internal访问级的(类似Java中的包访问级)。常规的访问级别:命名空间n/a类似XML的命名空间。
namespace abc;
abc function myCalc(){}
或
abc::myCalc(){}
use namespace abc ;控制台打印System.out.println();// 只在debug模式下有效
trace();Imports导入import com.abc.*;
import com.abc.MyClass;import com.abc.*;
import com.abc.MyClass;无顺序的键值对Hashtable, Map
Hashtable friends = new Hashtable();
friends.put(”good”,
“Mary”);
friends.put(”best”,
“Bill”);
friends.put(”bad”,
“Masha”);
String bestFriend= friends.get(“best”);
// bestFriend is Billvar friends:Array=new Array();
friends[”good”]=”Mary”;
friends[”best”]=”Bill”;
friends[”bad”]=”Masha”;
var bestFriend:String= friends[“best”]
friends.best=”Alex”;
Another syntax:
var car:Object = {make:”Toyota”, model:”Camry”};
trace (car[”make”], car.model);
// Output: Toyota Camry提升n/a编译器会将方法中所有变量声明提到顶端,所以你可以用一个变量名甚至在它声明之前。实例化Customer cmr = new Customer();
Class cls = Class.forName(“Customer”);
Object myObj= cls.newInstance();var cmr:Customer = new Customer();
var cls:Class = flash.util.getClassByName(“Customer”);
var myObj:Object = new cls();私有类private class myClass{…}AS3中没有私有类私有的构造函数支持不支持类和文件名一个文件可以有多个类声明,但是只能有一个是public,并且这个文件名必须和这个类名一致。一个文件可以有多个类声明包里能放什么类和接口类, 接口, 变量, 方法, 命名空间, 和可执行的声明动态类 (定义一个可以在运行时动态添加修改属性和方法的类).n/adynamic class Person {
var name:String;
}
//动态的添加变量和方法
Person p= new Person();
p.name=”Joe”;
p.age=25;
p.printMe = function () {
trace (p.name, p.age);
}
p.printMe(); // Joe 25方法 closuren/a.myButton.addEventListener(“click”, myMethod);抽象类支持n/a方法重载支持支持. 必须使用override声明方法过载支持不支持接口class A implements B{…}
接口可以包括方法的声明和静态变量。class A implements B{…}
接口只能存放方法的声明。异常处理关键字: try, catch, throw, finally, throws
未捕捉的异常会向上传递到调用它的方法。关键字: try, catch, throw, finally
方法不必声明异常。
不仅可以抛出Error对象,也能抛出数字:
throw 25.3;
一旦有未捕捉的异常Flash Player立即停止脚本执行。正则表达式支持支持感谢:http://akalius.iteye.com/blog/153274
- Java5.0与ActionScript3.0语法比较
- Java5和ActionScript3的语法比较
- actionscript3.0语法
- ActionScript3.0 基本语法 - Notes
- ActionScript3.0 常见的语法
- C#与ActionScript3.0比较 -> 函数使用之区别
- ActionScript3.0与Java6.0的不同点
- ActionScript3.0 中XML与XMLList详解
- JavaScript与ActionScript3.0通信--1
- JavaScript与ActionScript3.0通信--2
- ActionScript3.0中Bitmap,Sprite,MovieClip内存使用比较
- ActionScript3.0 基础知识
- ActionScript3.0 Socket
- ActionScript3.0概要
- ActionScript3.0学习-----数据类型
- actionscript3.0 图片裁剪
- ActionScript3.0学习
- actionscript3.0 资源管理问题
- 使用认证cookies
- 查询天气
- tomcat7.0 用户名配置
- NP完全问题作业
- 使用sublime写html遇到的问题
- Java5.0与ActionScript3.0语法比较
- quartz的运用(二):整合spring实现quartz任务调度配置
- 《Hello Flex4》(译《Flex4一学就会》)笔记(附源码)
- 封装Activity基类,快速实现添加标题栏,设置状态栏样式
- python之—flask虚拟环境
- C语言中利用#define和#undef定义初始化数组,实现不同的初始化效果
- Android中WebView,打开第三方应用的问题
- struts2的<s:password>标签 ...
- myeclipse 生成 UML类图