有两个问题,首先我想要把父类与子类放入两个不同的java文件里,那么应该把父类的文件放在什么路径里才能让子类顺利继承父类(我编译子类总是报错说无法找到继承的对象。。而且是不是只要有父类的class文件就可以了?)
第二:如果我用子类继承父类后,用子类调用父类,在执行父类的代码时,父类中又调用了子类的方法,但是父类本身没有这个方法的定义,那么由于是分开编译,父类的java能编译通过吗?(或者换一种问法,如何在一个java程序中调用另一个java程序的方法,但是调用方不能继承被调用方)
问题和第二个回答者一样,BlockDirt.java并没有import但是确确实实继承了Block这个类,并且这是个游戏的一部分代码,所以不用怀疑其正确性
追答没有import的话,如果正确,那么父类和子类应该放在一个包中,只有这样才能不适用import
追问那我第一个问题就明白了,谢谢。但是第二个问题没有解决,问题同第二个回答者一样。麻烦看一下。。
追答在父类中调用子类是办不到的
真的办不到
使用一个普通类不行吗?
普通类中写好父类要调用的方法
在父类中去调用就行啦
追问你一下第一个问题吧:package net.minecraft.src;
public class BlockDirt extends Block
{
protected BlockDirt(int i, int j)
{
super(i, j, Material.ground);
}
}
这是一个游戏中BlockDirt.java的源码,但是并没有用到import,难道package有相同的作用?
如果这么说的话,那block应该和子类在同一级目录下。这样貌似就不用引了。
追问那我第一个问题就解决了,谢谢。麻烦帮我解决下第二个,就是那段代码中Material.ground令我很费解,事实上Material是另一个叫做Material.java的类,BlockDirt与Material甚至根本就没有继承与被继承关系,但是BlockDirt成功调用了Material中的方法,自己还通过了编译,而且Material在BlockDirt里也没有被定义,什么机制可以实现这样的操作?
本视频主要从Java语言基础、JavaSE核心、WEB全栈及数据库、Servlet/Jsp核心、 Java框架五个阶段进行讲解。在本教程中,会让大家从零基础快速掌握Java知识。想要配套学习资料的小伙伴可以联系我哦!