我对Java的类和类型的理解正确吗?

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之类的基元是类型,而不是类.如果您是完全科学正确的,则必须指定“用户是类”.如果您说用户是一种类型,则它不是错误的,但也不是特定的.

上一篇:JavaScript反混淆插件四:JavaScript全局函数计算值替换


下一篇:java-如何实现将返回枚举的具体类型的方法签名?