要写一个抽象类用于派生事件处理,如果把父类写成
public abstract class A
{
//一些静态属性

public abstract void do();
}那么子类的方法不能写成静态的
public class B extends A
{
public static void do()
{
…………
}
}是我的思路不符合java的思想吗?

解决方案 »

  1.   

    一个类继承一个抽象类,必须实现抽象类的所有抽象方法
    public static void do(){
            …………
    }
    这个方法是从父类继承下来的
      

  2.   

    父类的方法不是static的话,子类的貌似不能写成static覆盖
      

  3.   

    不行,也不必要。因为一般来说static方法都偏向于工具性质了。如果是具有通用性,没必要约束子类实现这样的静态方法。你应该重新考虑你的设计是不是有问题。
      

  4.   

    是这样,我要写的是用hibernate对数据库进行增删改的工具类。我打算为每个表写一个工具类,其中的insert(),update(),delete()方法都是静态的。这些工具类拥有一个共同的父类,以便继承如获取session这样通用操作,以及约束增删改方法的方法名和返回值。初学hibernate,不知道这样是否合理,而且貌似java也不支持。
      

  5.   

    java都是类调用吧,能具体说说吗?
      

  6.   

    你把抽象类中的方法定义为static的就好了啊
      

  7.   

    public abstract class A
    {
        //一些静态属性
        
        public static void do()
        {
            return;
        }
    }public class B extends A
    {
        public static void do()
        {
            …………
        }
    }抽象类里写成static就不能用abstract了,似乎还是有些缺憾