java中关于对象的定义有个问题不明白

来源:百度知道 编辑:UC知道 时间:2024/06/24 06:01:58
类名 变量名 = new 类的构造方法名();

“类名 变量名”就是定义一个变量,就像int那样,变量大小是类中定义成员变量大小的总和,这是我的理解,不知道是这个意思吗。后面的意思好像是将新建一个对象赋给前面的那个变量,但是我不知道如何去理解将一个对象赋给一个变量是怎么回事,而且还可以将一个子类的对象赋给用父类定义的变量,就像 “父类 变量名 = new 子类的构造方法”,这个又怎么去理解呢?

类名 变量名 = new 类的构造方法名();
=号前面的只是声明,还没有给改对象分配内存空间,后面的new就是告诉系统我要生成一个对象了,现在给它分配好内存空间。
父类 变量名 = new 子类的构造方法
是自动向上转型,就好比你要将一个int赋给long,可以直接写成写成
int a=100;
long b=a;

父类 变量名 = new 子类的构造方法

这个就是多态了,有时候父类可能是一个接口或者抽象类,无法直接声明对象时候,以上语句就有了它的用武之地。
你可以创造一个类继承抽象类或者实现接口。然后上面方法调用 父类的方法