Javax开头的包代表什么,这个“X”是从哪里来的。

   今天老师讲到一个例子,导入javax.swing的时候觉得很奇怪,之前导入的包像java.util、java.lang等都是以java开头的啊!怎么又出现了一些以javax开头的包呢?它跟以java.开头的包又会有什么不一样呢?当是在弹幕问老师,老师可能没有看见(我是在校学生,因为新冠疫情在家上课),也没有回答我,所以我就自己查了一些资料,跟大家分享一下我的想法。
   在Java的早期两个版本中(1.02与1.1),所有附属于Java的类(也就是standard library)都放在java开头的包中。例如java.lang、java.util、java.io等。
   后来出现了一些没有出现在标准函数库中的包,这些被称为扩展的类有两种类型:标准的与非标准的。Sun所认可的称为 standard extension,其余实验性质、预览版本或beta版的非标准类则不一定被认可采用。
   标准的扩展都以javax作为包名称的开头。最早出现的是Swing函数库,它包含的数个包都是以javax.Swing开头。从java 1.2(又称为java 2)开始,Swing就一并包含在Java中。
   每个人都认为这样很酷,因为如此一来就不必担心用户要安装与Swing有关的扩展步骤。但这些包后来被认可为标准的一部分,所以Sun在发行Java1.2版前将开头名称从javax改为java。很多使用到Swing程序代码的书籍也就这样以新名称印刷。
   但因为非常多的开发者发现这会造成重大的社会写实悲剧,他们之前所写的每一个Swing程序都要跟着改写!想到要改多少个 import javax.就痛不欲生。
   敲代码的何必为难敲代码的呢?在最后关头,开发者们终于说服Sun采用“管他的命名传统,保护程序再说”的方法。所以你现在还会看到以javax.开头的包就会知道它曾经是扩展,后来取得一个标准的名分。
   所以现在很多人都说javax.与java,是一样的。没错。但他们在以前却是不一样的。在以前java.开头的包,代表标准的;javax.开头的包代表标准的扩展。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值