首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java FileOutputStream 類名衝突導致構造函數找不到:自定義類名避開 JDK 核心類

     編輯:程式設計綜合問答

代碼定義 public class FileOutputStream,導致 new FileOutputStream("path") 調用的是**自定義類**而非 java.io.FileOutputStream。

錯誤現象

FileOutputStream out = new FileOutputStream("F:/.../C.java"); // 編譯報錯:找不到匹配構造函數

自定義類只有無參構造,無 String 參數構造。

三種解決

  1. 重命名自定義類(推薦):
    public class MyFileCopy { ... }
  2. 完整限定名:
    java.io.FileOutputStream out = new java.io.FileOutputStream(...);
  3. import 顯式指定:
    import java.io.FileOutputStream; 並刪除自定義類定義。

最佳實踐

  • **絕不**用 JDK 核心類名(String、List、FileOutputStream 等)作為自定義類名。
  • IDE 會提示「類名遮蔽標準庫類」,嚴肅對待。
  • 學習 IO 時直接用 java.io.* 現成類,無需重造輪子。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved