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