Java套接字,使用具有相同消息的自定义toString方法

Java套接字,使用具有相同消息的自定义toString方法,java,Java,我有一个简单的anon内部套接字类,如下所示: Socket anonSocket = new Socket(){ @Override public void close(){ } @Override public String toString(){ return"uncloseable"; } }; 我的问题是,我希望toString方法返回unclos

我有一个简单的anon内部套接字类,如下所示:

  Socket anonSocket = new Socket(){

        @Override
        public void close(){

        }
        @Override
        public String toString(){

            return"uncloseable";
        }
    };
我的问题是,我希望toString方法返回uncloseable,因为它已经这样做了。但也有默认的套接字消息。例如,如果在没有我的自定义toString方法的情况下运行此代码,打印anonSocket将产生文本
Socket[unconnected]我想在我的toString方法中获得此文本+不可关闭。如何实现这一点?

当重写超类方法时,您有两个选项,通过实现不依赖于超类方法的独立方法来完全删除超类的逻辑,就像您现在所做的那样,或者,您可以通过在新方法中包含对超类方法的调用以及您自己的逻辑来扩展超类方法的功能

@Override
public String toString() {
    return super.toString() + " uncloseable"
}

使用super.toString.super.toString。但实际上,对套接字进行子类化并阻止它关闭对我来说似乎是一个可怕的想法。这是为了学习,我不会使用它。