首页 > 解决方案 > 如何重构超过 50000 行的 Java 文件?

问题描述

我有一个包含超过 50,000 行代码的 java 类。我想重构它并制作多个小类。

我尝试过开设儿童课程,但存在挑战(如果我错了,请纠正我)

一个。我们不能用父对象调用子方法!

湾。此外,我们不能从父级调用子级中的方法。

public class Parent {

    public void a(){
        System.out.println("Parent :: a");
        b();          //point b
    }
}

public class Child extends Parent{

    public void b(){
        System.out.println("Child :: m");
    }
}

public class Main {

    public static void main(String[] args) {
        Parent p = new Parent();
        p.b();         //point a       

        Child c = new Child();
        c.a();
    }
}

编辑:父类是 @ManagedBean 类(我使用 JSF 和 Spring)。

标签: javaspringclassrefactoring

解决方案


B点

你可以,它被称为模板方法模式。父母可以定义

一个操作的框架,由一些高级步骤组成。这些步骤本身由与模板方法相同的类中的其他辅助方法实现。

辅助方法可以是抽象方法,在这种情况下,子类需要提供具体的实现,也可以是钩子方法,在超类中有空的主体。

突出显示的部分是我更喜欢的。

public abstract class Parent {
    public void a(){
        System.out.println("Parent :: a");
        b();
    }
    public abstract void b();  // shouldn't necessarily be public
}

public class Child extends Parent {
    @Override
    public void b(){
        System.out.println("Child :: m");
    }
}

A点

你不能,它不是父母界面的一部分。要么将方法添加到父级,要么重新考虑为什么在父级引用上调用它。


推荐阅读