java创建对象例如,book a = new book(); 其中,第一个book、a、new以及book();分别表
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/23 21:08:30
java创建对象
例如,book a = new book(); 其中,第一个book、a、new以及book();分别表示什么含义?如果notebook为book的派生类,那么book a = new notebook()正确么,反过来notebook a = new book()呢?
例如,book a = new book(); 其中,第一个book、a、new以及book();分别表示什么含义?如果notebook为book的派生类,那么book a = new notebook()正确么,反过来notebook a = new book()呢?
不知道你学过C/C++没有?
book a
表示创建一个指向book类对象的指针/引用.详细来说,a本质上是一个unsigned int变量,但是这个整形变量不储存别的东西,就储存内存地址.并且因为JAVA这种语言的特点,使得系统(虚拟机)自动进行类型检查,保证a变量指向的是book类型或book类子类类型的对象.
new在JAVA里是一个特殊操作符,但是我们的操作系统是用C语言来写的,new必然对应C语言的某个或某组系统函数调用.这里一般是等价于C语言的malloc函数,作用是请求操作系统为对象分配一块内存空间.
book()是构造函数,是在new出来的内存区域填充数据,初始化book类对象的一些变量或状态.
book a=new notebook()可以,父类的指针/引用可以指向子类的对象.(多态)
反过来notebook a = new book()不行.因为对于子类对象,父类所声明的变量是子类对象的空间的一部分,这意味着父类对象的所占内存空间大小不超过子类对象的大小.所以,不可能让子类指针指向父类对象,否则会指向一块未被分配的内存空间,导致出错.
book a
表示创建一个指向book类对象的指针/引用.详细来说,a本质上是一个unsigned int变量,但是这个整形变量不储存别的东西,就储存内存地址.并且因为JAVA这种语言的特点,使得系统(虚拟机)自动进行类型检查,保证a变量指向的是book类型或book类子类类型的对象.
new在JAVA里是一个特殊操作符,但是我们的操作系统是用C语言来写的,new必然对应C语言的某个或某组系统函数调用.这里一般是等价于C语言的malloc函数,作用是请求操作系统为对象分配一块内存空间.
book()是构造函数,是在new出来的内存区域填充数据,初始化book类对象的一些变量或状态.
book a=new notebook()可以,父类的指针/引用可以指向子类的对象.(多态)
反过来notebook a = new book()不行.因为对于子类对象,父类所声明的变量是子类对象的空间的一部分,这意味着父类对象的所占内存空间大小不超过子类对象的大小.所以,不可能让子类指针指向父类对象,否则会指向一块未被分配的内存空间,导致出错.
this is a new book 其中的表语是book还是a new book
heve you a new book?
I have a new book
Have you a new book?
class Book(...){.}; class rend(..){ Book a=new Book[3];}可以这样
the teacher gave( )student a new book.
He wanted to bought a new book.
I have a new book 如何提问
Amy is reading a new book.
l have a new picture book.
red.a new.book连词成句
Every student will have a new book.