1700441076
1700441077
//定义一个服务
1700441078
1700441079
abstract class Server{
1700441080
1700441081
public final static int DEFAULT_PORT=40000;
1700441082
1700441083
public Server(){
1700441084
1700441085
//获得子类提供的端口号
1700441086
1700441087
int port=getPort();
1700441088
1700441089
System.out.println(“端口号:”+port);
1700441090
1700441091
/*进行监听动作*/
1700441092
1700441093
}
1700441094
1700441095
//由子类提供端口号,并做可用性检查
1700441096
1700441097
protected abstract int getPort();
1700441098
1700441099
}
1700441100
1700441101
class SimpleServer extends Server{
1700441102
1700441103
private int port=100;
1700441104
1700441105
//初始化传递一个端口号
1700441106
1700441107
public SimpleServer(int_port){
1700441108
1700441109
port=_port;
1700441110
1700441111
}
1700441112
1700441113
//检查端口号是否有效,无效则使用默认端口,这里使用随机数模拟
1700441114
1700441115
@Override
1700441116
1700441117
protected int getPort(){
1700441118
1700441119
return Math.random()>0.5?port:DEFAULT_PORT;
1700441120
1700441121
}
1700441122
1700441123
}
1700441124
1700441125
该代码是一个服务类的简单模拟程序,Server类实现了服务器的创建逻辑,子类只要在生成实例对象时传递一个端口号即可创建一个监听该端口的服务,该代码的意图如下:
[
上一页 ]
[ :1.700441076e+09 ]
[
下一页 ]