Class Main.javapackage System;import javax.servlet.http.HttpServlet;public class Main extends HttpServlet {
public String rs;
public void A(String Test){
this.B();
}
private void B(){
rs="Test String B<br />";
}
public void C(){
rs="Test Sting C<br />";
}
public void D(){
rs="Test String D<br />";
}
@Override
public String toString(){
return rs.toString();
}
}Class index.java
package web;import System.Main;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@WebServlet(name="index", urlPatterns={"/index"})
public class index extends Main {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
this.A("index");
out.print(this.toString());
this.C();
out.print(this.toString());
try {
} finally {
out.close();
}
}
@Override
public void C(){
this.rs="Test String Main.C<br />";
} @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} @Override
public String getServletInfo() {
return "Short description";
}}Class NewServlet.javapackage web;import System.Main;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@WebServlet(name="NewServlet", urlPatterns={"/NewServlet"})
public class NewServlet extends Main {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
this.A("aaaaaaa");
this.D();
out.print(this.toString());
this.C();
out.print(this.toString());
} finally {
out.close();
}
}
@Override
public void D(){
this.rs="Test String NewServlet.D<br />";
} @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} @Override
public String getServletInfo() {
return "Short description";
}
}大概的意思就是做一个网站,网站所有页面类都是从Main继承下来的,Main类根据每个页面提交上来的信息,再自动分析内容,比如是连接数据库返回表内容,或者是调用XML返回节点,或者其它,再返回给页面类,但有些页面类会重写掉主类的方法,有些不会重写,用默认的就行,再就是变量从主类传递下来,有些页面也会改写变量,有些不会.我一直是用继承的方式做的,但现在要求改为接口,但我一直没有学过接口的东西(从别的语言转到JAVA的),在网上看了一些例子,也不是很明白,有没有人帮忙把上面的类改成接口调用,我参考一下,,不甚感谢.....
public String rs;
public void A(String Test){
this.B();
}
private void B(){
rs="Test String B<br />";
}
public void C(){
rs="Test Sting C<br />";
}
public void D(){
rs="Test String D<br />";
}
@Override
public String toString(){
return rs.toString();
}
}Class index.java
package web;import System.Main;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@WebServlet(name="index", urlPatterns={"/index"})
public class index extends Main {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
this.A("index");
out.print(this.toString());
this.C();
out.print(this.toString());
try {
} finally {
out.close();
}
}
@Override
public void C(){
this.rs="Test String Main.C<br />";
} @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} @Override
public String getServletInfo() {
return "Short description";
}}Class NewServlet.javapackage web;import System.Main;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@WebServlet(name="NewServlet", urlPatterns={"/NewServlet"})
public class NewServlet extends Main {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
this.A("aaaaaaa");
this.D();
out.print(this.toString());
this.C();
out.print(this.toString());
} finally {
out.close();
}
}
@Override
public void D(){
this.rs="Test String NewServlet.D<br />";
} @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} @Override
public String getServletInfo() {
return "Short description";
}
}大概的意思就是做一个网站,网站所有页面类都是从Main继承下来的,Main类根据每个页面提交上来的信息,再自动分析内容,比如是连接数据库返回表内容,或者是调用XML返回节点,或者其它,再返回给页面类,但有些页面类会重写掉主类的方法,有些不会重写,用默认的就行,再就是变量从主类传递下来,有些页面也会改写变量,有些不会.我一直是用继承的方式做的,但现在要求改为接口,但我一直没有学过接口的东西(从别的语言转到JAVA的),在网上看了一些例子,也不是很明白,有没有人帮忙把上面的类改成接口调用,我参考一下,,不甚感谢.....
Main.java不变,增加接口MainInterface.java
public interface MainInterface {
public Main main = new Main();
}实现类:public class index implements MainInterface {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
this.main.A("index");
out.print(this.main.toString());
this.C();
out.print(this.main.toString());
try {
} finally {
out.close();
}
}
public void C(){
this.main.rs="Test String Main.C<br />";
}
}
这样看起来有点不伦不类额。
比如你们头儿让你把继承改接口,怎么改是你的事情,但接口要求他跟你说了你就得按这个做话说你们头儿没学过java吧....接口和继承并不是可以完全互相替代的东西
我觉得你们老大是这个意思,implements和extends没什么区别,implements只是java为了解决多继承想出来的招