动态类型、静态类型、强类型、弱类型四者的简单解析:

一、动态类型语言:
运行时确定数据类型。
不需声明变量数据类型,运行期间才做数据类型检查,在第一次赋值给变量时,将数据类型记录下来。如:Python,JavaScript,php

二、静态类型语言:
编译时确定数据类型。
需声明所有变量数据类型,编译期间对数据类型做检查。使用数据前,必须明确数据类型。如:C/C++,Java。
不过,以Java为例,讨论其中的特例——多态,对于多态而言,变量可以持有子类型的数据。其在编译时,以等号左边确定数据,运行时最终以等号右边确定数据类型。那么针对Object的变量而言,由于其可以持有所有类的数据类型(一切类均为Object的子类),所以Java在这种特殊情况下则完全具有动态类型语言的特征。

三、强类型语言:
不允许隐式转换。
被指定为某种数据类型后,不经过强制转换,则永远为此类型。如:Python,Java。
对禁止隐式转换举例:
“12”-1,结果报错。

四、弱类型语言:
允许隐式转换。
数据类型可被忽略的语言。如JavaScript,php。
对允许隐式转换举例:“12”-1,结果为11。
这是由于“12”先被隐式转换为int 12,然后做运算处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值