我是初学Java程序员,一步一步学习如何用Java编写代码。
我有这个代码,它是java中接口的一个实现。
请协助我调试它。
这是界面:
package ke.munyiri.me;
public interface Hp {
public void scrollUp (int increment);
public void scrollDown (int decrement);
public void rightClick();
public void leftClick ();
}
这是它的实现:
/**
*
*/
package ke.munyiri.me;
/**
* @author MUNYIRI
*
*/
public abstract class Mouse implements Hp {
char manufacturer;
char type;
static int scroll;
boolean click;
public static void main(String[] args){
public void scrollUp(int increment){
scroll = scroll + increment;
System.out.println("The mouse is scrolling up");
}
public void scrollDown (int decrement){
int scrollDown = scroll - decrement;
System.out.println("The mouse is scrolling down");
}
public void rightClick(){
boolean rightClick = true;
System.out.println("The mouse is right Clicking");
}
public leftClick(){
boolean leftClick = true;
System.out.println("The mouse is left Clicking");
}
}
}
答案 0 :(得分:1)
您的代码中存在编译错误。您不能在另一个方法中声明方法。在您的代码中您在main方法中有覆盖接口方法。将它们从主方法范围中取出。喜欢这个
public abstract class Mouse implements Hp {
char manufacturer;
char type;
static int scroll;
boolean click;
public static void main(String[] args){
}
public void scrollUp(int increment){
scroll = scroll + increment;
System.out.println("The mouse is scrolling up");
}
public void scrollDown (int decrement){
int scrollDown = scroll - decrement;
System.out.println("The mouse is scrolling down");
}
public void rightClick(){
boolean rightClick = true;
System.out.println("The mouse is right Clicking");
}
public void leftClick(){
boolean leftClick = true;
System.out.println("The mouse is left Clicking");
}
}
答案 1 :(得分:0)
您的代码中存在问题。您无法在method
内声明另一个method
。
更改结构
public MyClass implements MyInterface{
public static void main(String[] args){
}
public void myMethod1(){
}
}
答案 2 :(得分:0)
所以你定义了一个接口和一个抽象类,但没有具体的类。您的实施无法在其自身上使用,但需要进一步实施' class 或您可以从类定义中删除abstract
关键字。由于您的班级没有任何抽象方法,因此不需要此关键字。
嗯,正如其他人所指出的,你的主要方法(你不需要)错过了它的结束。
答案 3 :(得分:0)
在学习界面概念之前,你应该学习基础知识。即你不能在另一个方法中实现方法,首先要了解界面,你应该知道什么是抽象和混凝土。
抽象类
public abstract class GraphicObject {
// declare fields
// declare nonabstract methods
abstract void draw();
}
抽象类是一个声明为abstract的类 - 它可能包含也可能不包含抽象方法。抽象类不能被实例化,但它们可以被子类化。
抽象方法是在没有实现的情况下声明的方法。
CONCRETE CLASS
抽象类旨在用作从中派生其他类的基类。派生类应该为未在基类中实现的方法提供实现。实现所有缺失功能的派生类称为具体类。
public class Graph implements GraphicObject{
public void draw()
{
//defination
}