Java语法变量前重复类名

ecbunoof  于 2023-03-11  发布在  Java
关注(0)|答案(2)|浏览(112)

这个问题实际上是我问过的两个关于Java的问题之一,我对这个语法的理解还不足以理解该问什么,但我在编码中看到了一些东西:

HibernateUtil hibUtil = new HibernateUtil(ORDB_CFG, AS400_CFG);

我知道类HibernateUtil位于何处。
我不明白的是,为什么在表达式中的var hibUtil之前也指定了它?这样做和不这样做有什么区别?

lqfhib0f

lqfhib0f1#

这是一个变量声明和初始化。
在java中你需要声明变量的类型。

HibernateUtil hibUtil = new HibernateUtil(ORDB_CFG, AS400_CFG);

第一个HibernateUtil声明变量/对象的类型。
在本例中,它是HibernateUtil类的一个变量,名为hibUtil,在=之后创建一个新对象,并将其赋给前面声明的变量。
根据你的类结构,你也可以声明一个接口或超类为变量,并将一个子类的对象赋给它。

57hvy0tb

57hvy0tb2#

例如,当您可能看不到重复的语法时,假设我们有名为MyHibernateUtil和YourHibernateUtil的HibernateUtil子类。然后,您可能会看到一个包含每个子类的HibernateUtil数组:

HibernateUtil[] h = { new MyHybernateUtil(...), new YourHibernateUtil(...)};

相关问题