在Java中,当定义一个类时,您将隐式定义一个类型.说,我定义了一个类User:
class User {}
然后我们得到一个类User和一个隐式类型User.
当使用名称User时,有时我们引用类User,有时则键入User.让我举一些例子:
User user = new User();
^^^^(1) ^^^^(2)
public void saveUser(User user) {
^^^^(3)
}
class Dao<T> {
def save(T t) {}
}
new Dao<User>();
^^^^(4)
Class cls = User.class;
^^^^(5)
User user = (User) someObj;
^^^^(6)
我的理解:
>位置(1)是用户类型
>位置(2)是类User的构造函数
>位置(3)是用户类型
>位置(4)是用户类型
>位置(5)是班级用户
>位置(6)是用户类型
我的理解正确吗?
解决方法:
我会说:
Class cls = User.class;
^^^^^^^^^^(5)
User user = new User();
^^^^^^^^^^(7)
>这是User类型的变量的声明类型
>这是User类型的变量的Definition的类型(不是构造函数,构造函数可能仅存在于User的子类中)
>这是类型为User的参数/参数声明的类型
>这是Dao类型的泛型默认构造函数的定义的泛型类型User
>这是对User类型的类的引用.
>这是对用户类型的强制转换.
>这是类型/类用户的默认构造函数的调用.
类型还是班级?每个类都可以是一个类型,并非每个类型都可以是一个类.例如int之类的基元是类型,而不是类.如果您是完全科学正确的,则必须指定“用户是类”.如果您说用户是一种类型,则它不是错误的,但也不是特定的.