我试着教自己如何用java编程,现在我正试图教自己如何使用继承。
我想要创建一个名为Pushbutton的类,它继承自类门。在我的类Pushbutton中,我有一个名为status的方法,它接受一个名为按钮的布尔值,并根据值按钮的不同,在类门中调用该方法打开或关闭。
我遇到的问题是,在我的主要方法中,我试图调用第25行中看到的方法状态,但是我得到了一条错误消息:
对Main类型未定义方法状态(布尔值)。
我可以看到如何在不使用继承的情况下解决这个问题,但这就违背了我试图完成的任务的目的。有人知道我如何在仍然使用继承的情况下解决这个问题吗?
我也尝试过将类、按钮和门公之于众,但随后我收到了新的错误消息,说明类必须在它们自己的文件中。此外,原始错误消息不会消失。
class Door{
public void open() {
System.out.println("Door is opened");
}
public void close() {
System.out.println("Door is closed");
}
}
class Pushbutton extends Door{
public void status(boolean button) {
if (button==true) {
super.open();
}
else {
super.close();
}
}
}
public class Main {
public static void main(String[] args) {
boolean button=true;
status(button); //line 25
}
}
发布于 2019-05-05 15:48:19
您需要首先创建类型为Pushbutton的对象,以便能够使用Pushbutton类中存在的非静态方法。
在此:-
class Door{
public void open() {
System.out.println("Door is opened");
}
public void close() {
System.out.println("Door is closed");
}
}
class Pushbutton extends Door{
public void status(boolean button) {
if (button==true) {
super.open();
}
else {
super.close();
}
}
}
public class Main {
public static void main(String[] args) {
boolean open=true;
// create object of type Pushbutton
Pushbutton button = new Pushbutton();
// call the method status from the object
// and pass it the boolean parameter
button.status(open); //line 25
}
}
另外,我认为你不应该叫它“按下按钮”,一个按钮不是门(逻辑上的),也许叫它HomeDoor,因为家里的门开了也关了?
发布于 2019-05-05 22:40:12
Main
方法的类main
是程序的条目。Pushbutton
类的Pushbutton
方法,首先声明Pushbutton
的实例PushButton pushbutton = new Pushbutton()
,然后调用其方法pushbutton.status()
。public class Main {
public static void main(String[] args) {
boolean open=true;
// create an instance of Pushbutton
Pushbutton pushbutton = new Pushbutton();
// invoke the method and pass it a boolean value
button.status(open); //line 25
}
}
https://stackoverflow.com/questions/55997322
复制相似问题