2 a552298242 a552298242 于 2016.09.19 21:05 提问

请问下java各个版本之间的兼容性是怎么样的

这学期学习java时,老师用的jdk版本是1.6,但是我考虑到毕业是几年后的事情了,因此
装了1.8版本的jdk提前预习下,请问下如果我设置了compiler compliance level的版本
为1.6,那吗我在1.8上写的东西能在老师1.6版本上跑吗

4个回答

lsl_Wislove
lsl_Wislove   2016.09.19 21:33
已采纳

有很多高版本的新特性,也是1.8的特性不能在低版本下面运行。比如1.8新有特性:1.接口里面可定义一些默认方法(1.8的接口变得挺多的,1.8的新接口特性在低版本运行不了) ,2. Lambda表达式。 我遇到的大概就这两个,总的来说都可以运行。就是新的特性不可以

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.09.19 21:06

高版本兼容低版本的,如果你本地设置的最低版本是1.6是可以在其他环境下兼容运行的。

guwei4037
guwei4037   Ds   Rxr 2016.09.19 22:07

可以,你安装的高版本可以兼容低版本的,反过来不行。

oSanYeCao1234567
oSanYeCao1234567   Ds   Rxr 2016.09.19 22:10

肯定是不行的,比如你在1.8中写的代码使用1.8版本的新特性(新添加的方法或者类),然后放到1.6版本中肯定是编译失败的(找不到方法或类)

这样的一般是向下兼容的,即高版本的兼容低版本的JDK

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
软件测试—兼容性测试
1.基本概念 (1)兼容性测试是指检查软件之间是否能够正确地交互和共享信息。兼容性对于软件的意义取决于开发小组用什么来定义,以及软件运行的系统要求的兼容性级别。 (2)向后和向前兼容:向后兼容是指可以使用软件的以前版本。向前兼容是指可以使用软件的未来版本。并非所有的软件都要求向前兼容和向后兼容。向前兼容测试不容易——对现在任然看不到的东西进行测试难以实现,解决的方法是完整细致地将测试定义在可以作
Jquery不同版本的兼容性
Jquery 1.6 1.7 支持attr()改变属性值1.8开始不允许1.8版本以上的jquery中ajaxStart只支持绑定到document测试方式<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> var j = jQuery.noConflict(true); <
JDk以及各个版本的区别
jdk1.5的新特性: 1. 泛型    ArrayList list=new ArrayList()------>ArrayListlist=new ArrayList(); 2 自动装箱/拆箱    nt i=list.get(0).parseInt();-------->int i=list.get(0);原始类型与对应的包装类不用显式转换 3 for-each    i=0;i
关于解决jq不同版本兼容性问题
用过jQuery的朋友都知道jQuery不同版本会引发冲突,本文就此问题提出有效的解决方案如下: 案例:解决jQuery1.3.2和1.4.2的冲突。(本例已测试通过!) 第一步:在1.4.2的源代码的最后加上一句 : ? 1 var $j4 = jQuery.noConflict(true);
JDK各版本之间的特性区别
jdk1.5的新特性: 1. 泛型    ArrayList list=new ArrayList()------>ArrayListlist=new ArrayList(); 2 自动装箱/拆箱    nt i=list.get(0).parseInt();-------->int i=list.get(0);原始类型与对应的包装类不用显式转换 3 for-each    i=0;i
关于java class 版本的兼容问题
 关于java class 版本的兼容问题A     总的来说:   因为序列化自动生成的UID要求严格,一个很小的改动就认为是不同的class,自己设置这个用来强制系统认为这两个不完全相同的类是同一个,就是  两个版本兼容   serialVersionUID 域是不同版本间兼容的标记,SerialVersionUID不同,发生了什么?    不兼容版本的异常被抛出 B     解决问题:版本兼
请问下面的程序一共输出多少个“-”?
题目:int main(void) {     int i;     for (i = 0; i < 2; i++) {          fork();          printf("-");      }      return 0;  }  A、2 B、4 C、6 D、8 答案:D 解析: fork函数是计算机程序设计中的分叉函数。返回值: 若成功调用一次则返回两个值,
linux各发行版之间的区别
Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。下面介绍一下各个发行版本的特点: Redhat,应该称为Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本)、Fedora Core
Java各种版本的区别
大家经常会看到Java有EE,SE,ME,这些其实都是Java适用的不同版本:、 JAVAEE:企业版(高配) JAVASE:标准版(中配) JAVAME:微系统版(低配)
jdk5-jdk10各个版本的新特性
jdk各个版本新特性汇总(1.5-1.8)