所以我必须创建一个扩展抽象类的类,并列出家庭作业的类型和正在使用的页面。但是,我并不完全理解如何回调读取的页面和家庭作业的类型,同时也正确地创建了一个使用createAssignment。这是我到目前为止所做的,但它似乎并没有起作用。任何帮助表示赞赏。
public abstract class Homework
{
public abstract int pagesRead();
public abstract String typeHomework();
public abstract void createAssignment(int p);
}
public class MyMath extends Homework
{
public abstract void createAssignment(int p, String t)
{
p = 5;
t = "Math";
}
}
答案 0 :(得分:1)
您的代码重新格式化了语法修正:
for(int i=2; i < 256; i+=4) {
if (size == i) {
unit /= 4;
}
}
您还必须实现其他两种抽象方法。
分配给方法的参数是没有意义的:-)我想你想把它们分配给public abstract class Homework
{
public abstract int pagesRead();
public abstract String typeHomework();
public abstract void createAssignment(int p, String t);
}
public class MyMath extends Homework
{
public void createAssignment(int p, String t)
{
p = 5;
t = "Math";
}
}
实例中的变量。
我还没有测试过它。这有帮助吗?
答案 1 :(得分:1)
考虑到你的上一个问题和这个问题,你显然不理解抽象的概念。
当你在public abstract void createAssignment(int p);
课程上定义Homework
时,你说的是#34;扩展这个类的任何具体类(读取而不是抽象)应该实现这个方法&#34;,但是在具体的class你再次尝试使用abstract
关键字实现相同的方法,只是使用不同的签名,这是错误的。
删除abstract
关键字并更改签名:
public void createAssignment(int p, String t) {
p = 5;
t = "Math";
}
或实现抽象方法:
@Override
public void createAssignment(int p) {
}
请记住,除非您将Homework
抽象化,否则必须实现在MyMath
中定义的所有抽象方法。这会重新实现createAssignment(int p)
&#34;再次&#34;如果你只是超载它。
答案 2 :(得分:0)
我编辑了两个程序,使其中一个程序抽象只是不起作用,所以它们都是抽象的,createAssignment现在是无效的。这现在有效。谢谢你的格式化指针。
public abstract class Homework
{
public abstract int pagesRead();
public abstract String typeHomework();
public abstract void createAssignment(int p);
}
public abstract class MyMath extends Homework
{
public void createAssignment(int p, String t)
{
p = 5;
t = "Math";
}
}
答案 3 :(得分:0)
这是一个非常简单的伙伴:
首先,您需要实现抽象方法:
public class MyMath extends Homework {
public int pagesRead(){
return 3; // any number that you want
}
public String typeHomework(){
return "My math homework"; // any text for the homework
}
public void createAssignment(int p){
// do anything with p
}
}
正如我所看到的,我猜你正在尝试使用一种方法来填充字段值:
public class MyMath extends Homework {
private int p;
private String homeworkContent;
public int pagesRead(){
return p;
}
public String typeHomework(){
return homeworkContent; // any text for the homework
}
public void createAssignment(int p, String homeworkContent){
this.p = p;
this.homeworkContent = homeworkContent;
}
}
但是,请记住,您应该将方法从Homework更改为:
public abstract void createAssignment(int p, String homeworkContent);