簡體   English   中英

Java:當java.io具有受保護的構造函數時,如何從java.io為Reader類創建新的類對象

[英]Java: How to create new class object for Reader class from java.io when it has protected constructor

我想為java的Reader類創建一個新的類對象,但由於它受到保護,我無法訪問構造函數。

讀者類描述

Reader myReader = new Reader(); 

不管用。

通常,我會創建一個新的函數來訪問該構造函數的類,但由於該函數是java默認庫的一部分,我該如何訪問它? 謝謝你的幫助。

Reader是一個抽象類。 您無法實例化它,僅用於創建子類實例。

你的意思是

Reader myReader = new InputStreamReader(in, "UTF-8");

Reader是一個抽象類,因此您必須實例化它的實現,例如BufferedReaderInputStreamReader

正如其他人所說,您可以創建Reader的子類實例,例如BufferedReader

如果您不想使用Reader的子類,您可以創建Reader實例,如下所示

Reader reader = new Reader() {

        @Override
        public int read(char[] cbuf, int off, int len) throws IOException {
            // TODO Auto-generated method stub
            return 0;
        }

        @Override
        public void close() throws IOException {
            // TODO Auto-generated method stub

        }};

如果您查看Reader Java Doc,您可以看到Reader的具體子類根據您的要求對其中任何一個進行了分析。 你不是真正的Reader因為它是abstract

的BufferedReader
CharArrayReader
FilterReader
InputStreamReader中
PipedReader
StringReader

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM