Pracuję z absurdalnie dużą bazą kodu i potrzebuję przenieść plik z jednego pakietu do drugiego. Jednak nie mam całego kodu źródłowego lokalnie, więc nie jestem pewien, czy znalazłem i zaktualizowałem każdą referencję do oryginalnego pliku. Aby upewnić się, że niczego nie zepsuję, chciałbym pozostawić oryginalny plik i po prostu rozszerzyć nowy plik, który utworzyłem. W idealnej sytuacji obie miałyby dokładnie taką samą nazwę. Nadgodziny, planuję wycofać i usunąć stary plik, ale na razie wydaje się, że jest to najsolidniejsze rozwiązanie. Jednak nie wiem, jak sprawić, aby działało w Javie.Czy możliwe jest rozszerzenie klasy Java o jedną o tej samej nazwie?
Oto nowa klasa:
package myproject.util.http;
import javax.servlet.http.HttpServlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public abstract class MyServlet extends HttpServlet
{
public void service (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// implementation of service
}
}
Oto stary klasa, która rozszerza nowy:
package myproject.util.net;
import myproject.util.http.MyServlet;
public abstract class MyServlet extends myproject.util.http.MyServlet
{
// this class was deprecated, use myproject.util.http.MyServlet instead
}
Niestety, pojawia się błąd:
MyServlet is already defined in this compilation unit
Czy ta możliwe, czy też będę musiał wymyślić nowe imię dla klasy rodziców.