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

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

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

相关推荐