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

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

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

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

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

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

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