Java类和接口实现

时间:2014-09-12 07:15:29

标签: java

我是初学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");
        }
    }

}

4 个答案:

答案 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
}