这个问题实际上是我提出的关于Java的两个问题之一,我不太了解这种语法,无法理解/问什么/问,但这是我在编码中看到的:
HibernateUtil hibUtil = new HibernateUtil(ORDB_CFG, AS400_CFG);
我知道HibernateUtil所在的位置。
我不明白的是,为什么在表达式中的var hibUtil
之前也指定了它?
如果我做或不做,有什么不同?
答案 0 :(得分:7)
这是一个变量声明和初始化。
在java中,您需要声明变量的类型。
HibernateUtil hibUtil = new HibernateUtil(ORDB_CFG, AS400_CFG);
第一个HibernateUtil
声明变量/对象的类型。
在您的情况下,它是一个名为HibernateUtil
的类hibUtil
的变量。
在=
创建新对象并将其分配给先前声明的变量之后。
根据您的类结构,您还可以将接口或超类声明为变量,并为其分配子类的对象。
答案 1 :(得分:3)
作为您可能看不到重复语法的示例,假设我们有HibernateUtil的子类MyHibernateUtil和YourHibernateUtil。然后你可能会看到一个HibernateUtil数组,其中包含每个子类中的一个:
HibernateUtil[] h = { new MyHybernateUtil(...), new YourHibernateUtil(...)};