implements java.lang.Runnable.run - The method run() of type new Runnable(){} must override a super

 额。。敲里凉。

先写一下遇到的状况:

在ide里面 推荐将run方法上的override去掉,以及推荐将socket 定义为final 说他是内部类, (mmp 你全家都是内部类)。

刚开始的时候问了一下大佬,大佬说这个问题可以算作没导入正确的类库。是ide里面导入jdk版本的问题。

(我eclipse是下的最新的版本) 于是将 java compiler改为l.7(右击项目->properties->搜索java compiler);

嘿嘿override不报错了。可是这个ide还是一口咬定内部类。

解决问题:

于是我想, 我这个eclipse是最新版本的。 我全部改成1.8试试呢。于是将libraries 和compiler 系统的环境都改成了1.8。这就不报错了。希望对大家有用

package com.fuchanghai.nio;


import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;


public class TraditionalSocketDemo2{
	@SuppressWarnings("resource")
	public static void main(String[] args) throws IOException {
		ServerSocket serverSocket = new ServerSocket(7777);
		System.out.println("服务端启动, 端口为:7777");
		while(true){
			// 获取socket套接字
			// accept()阻塞点
			Socket socket = serverSocket.accept();
			System.out.println("有新客户端连接上来了...");
			new Thread(new Runnable() {
				@Override
				public void run() {
					try {
						// 获取客户端输入流
						InputStream is = socket.getInputStream();
						byte[] b = new byte[1024];
						while(true){
							// 循环读取数据
							// read() 阻塞点
							int data = is.read(b);
							if(data != -1){
								String info = new String(b,0,data,"GBK");
								System.out.println(info);
							}else{
								break;
							}
						}
					} catch (Exception e) {
						e.printStackTrace();
					}
				}
			}).start();
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值