是不是已经引入过一个B类和当前不是同一个包的
不知道你这个问题是否已经解决, 如果还没有解决的话:Java 10推出var:局部变量推断
var的限制:
import java.io.*;
import java.net.*;
public class VarTest {
public static void main(String[] args) throws Exception {
var b1 = 5;
var b2 = 0.25;
var b3 = "abc";
var b4 = new URL("https://github.com/");
//var b0; //error
//b3 = 5; //error
//var b5=5,b6=6,b7=7; //error
//var b8=null; //error
int[] nums = new int[3];
//var nums2 = {0,1,2}; error
for(var i=0;i<nums.length;i++)
{
nums[i] = i*2;
}
for(var i:nums)
{
System.out.println(i);
}
//var可以和三元操作符配合
var a5 = a1>b1? 10:15;
var b5 = a1+2<=b1? a1+10:b3;
System.out.println(b5.getClass().getName());
//var对继承有效
//子类型var可以赋值给父类型的var
var obj1 = new Father();
var obj2 = new Son();
obj1 = obj2;
}
}