日期:2014-05-16  浏览次数:20385 次

面向对象的JS(1) Java和JavaScript的比较

Java和JavaScript在面向对象方面的比较

?
Java JavaScript
静态类型 动态类型
自定义类型可以是类,接口或枚举定义 自定义类型由函数或原型定义
类型不可在运行时改变 类型可在运行时改变
定义变量需要声明具体类型(强类型) 定义变量不需要声明具体类型(弱类型)
构造器是具体的方法 构造器只是一个函数,构造器与函数之间无区别
类和实例是不同的实体 一切均为对象,构造器函数和原型也是对象
支持静态和实例成员 不直接支持静态和实例成员
由抽象类和接口支持抽象类型 不直接支持抽象类型
良好的成员作用域支持(private, package, protected,public) 仅支持public的成员
丰富的继承机制 仅通过原型继承机制
支持方法重载和方法重写 不直接支持方法重载和方法重写
丰富的反射机制 有反射特性
由包来支持模块化 无直接的包或模块化支持