Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从c到java,对象_Java_Arrays_Object_Superclass - Fatal编程技术网

从c到java,对象

从c到java,对象,java,arrays,object,superclass,Java,Arrays,Object,Superclass,我的第一门语言是C,但我正在学习一门使用java的课程,我得到了一个关于建立一个图书馆和两个子类书籍和期刊的课程,两者都有不同的东西,但也有一些共同的东西,比如电话号码或登记日期和标题,但我的问题是 超类:库 亚类:书籍 说出来有什么区别 图书馆图书=新图书馆和图书馆图书=新书 我可以做一个循环,每次我读一本书,比如说,就说 图书馆图书=新书(“发送作者、流派等论据”) 如果这是可能的,我如何打印所有的对象(我不认为这是可能的,但就像我说的我来自C,我对对象不太了解) 或者我需要一个对象数组??

我的第一门语言是C,但我正在学习一门使用java的课程,我得到了一个关于建立一个图书馆和两个子类书籍和期刊的课程,两者都有不同的东西,但也有一些共同的东西,比如电话号码或登记日期和标题,但我的问题是

超类:库 亚类:书籍

说出来有什么区别

图书馆图书=新图书馆和图书馆图书=新书

我可以做一个循环,每次我读一本书,比如说,就说

图书馆图书=新书(“发送作者、流派等论据”)

如果这是可能的,我如何打印所有的对象(我不认为这是可能的,但就像我说的我来自C,我对对象不太了解)

或者我需要一个对象数组??有没有办法在没有对象数组的情况下放置这些对象

谢谢

我想你需要做一个调查。要创建一个类,您可以执行以下操作

public class Material {
   // properties and methods here
}
然后创建一个子类

public class Book extends Material {

}
跟踪创建的实例的最简单方法是保留一个数组,每次创建实例时,都在数组中放置对该实例的引用。所以

Material[] library = new Material[100];
library[0] = new Book();

这种方法的问题是,你需要知道你要提前创作的书的数量。你可以用其中任何一个来代替。

我想说的是,图书馆有一套书籍和期刊。我可能会有一个超级图书和期刊班;我称之为资源:

package model;

public class Library {
    private List<Resource> resources;
    // other methods here.

}
包模型;
公共班级图书馆{
私人名单资源;
//这里还有其他方法。
}
您正在创建库对象并将其指定给库引用变量

library book =new books();
您正在创建books对象并将其指定给库引用变量。 这意味着,即使您只能通过book变量访问库属性和方法,但对象是一本书,如果您已经重写了方法,它们将被执行(从books代码),并且您还可以将book强制转换为books类

我不知道您想对数组做什么,但您可以将数组(及其子类型)定义的类型存储在数组对象中


最后,书籍是图书馆的一个子类型?您想检查:

顺便说一句,试着用大写字母Leter命名这个类:Books and Library是的,如果您打算编写Java,请学习Sun Java编码标准。我希望讲师没有告诉您将
Library
作为
Book
期刊的超类。如果是这样的话,那就是你要上的那门课的危险信号。那没有意义。他说要为书籍和期刊创建一个超类,为什么你说它没有意义?好吧,那你就要看答案了。;-)超类不应是
。超类是对象的一般类型,它定义了
书籍
期刊
的共同点。以下建议为
资源
材料
,可以接受。如果我这样做,我可能根本不用超类。我可能会使用一个接口,比如
LibraryCheckout
,并让这两个类实现该接口。但你以后会知道的。
library book =new books();