Java不能單文件編譯的原因之一

前言

1.一些語言編譯的過程是【編譯】+【鏈接】,如c語言
2.java作為一種后來的語言卻不具備單文件編譯的特性。
3.java本身的特性很多,從它的產(chǎn)生思考原因已經(jīng)比較難,因此集中于使用。今天在一些思考與交流中想到一個原因?qū)е耲ava無法單文件編譯。

代碼示例

Util類


public class Util {

    public static void a(Object b) {
        System.out.println("object");
    }

    public static void a(int a) {
        System.out.println("int");
    }
    
}

Test類

public class Test {

    public static void main(String[] args) {
        Util.a(1);
    }

}

可以猜測一下答案是什么?

答案:int

思考:更換int為float,首先尋找a(float a)方法。此處得到結論,java編譯時優(yōu)先尋找子類。

使用javap命令查看Test.class以證明

javap -c Test.class
------------------------------------------------------------------------------------
Compiled from "Test.java"
public class Test {
  public Test();
    Code:
       0: aload_0
       1: invokespecial #1                  // Method java/lang/Object."<init>":()V
       4: return

  public static void main(java.lang.String[]);
    Code:
       0: iconst_1
       1: invokestatic  #2                  // Method Util.a:(I)V
       4: return
}

Method Util.a:(I)V: Util -> 類名,a -> 方法名,I -> 參數(shù)類型int, V -> 返回值類型void

編譯后的文件中已經(jīng)完全了解自己需要使用的類,方法名稱,參數(shù),返回值。

以上情況,(1 是 int) 且 (1 is object),單獨編譯時Test.java本身并不足夠知曉自己應該指向怎樣的方法

如果有類似c語言的.h 頭文件,是否可以解決問題呢。

繼續(xù)思考

繼承是面向?qū)ο笳Z言的重要屬性之一,但是繼承并不是一定要存在的事物,并且需要慎用繼承。
是否java之后會被一種只有類(用于對象),與內(nèi)部類(用于接口實現(xiàn))的語言所代替,同時使用組合代替繼承。此處暫停,陷入困惑,聯(lián)想到了oc,c語言,c++,想法到此為止,思路因為各種原因無法繼續(xù)了,
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 小編費力收集:給你想要的面試集合 1.C++或Java中的異常處理機制的簡單原理和應用。 當JAVA程序違反了JA...
    八爺君閱讀 5,172評論 1 114
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom閱讀 3,131評論 0 3
  • Win7下如何打開DOS控制臺? a:開始--所有程序--附件--命令提示符 b:開始--搜索程序和文件--cmd...
    逍遙嘆6閱讀 1,698評論 4 12
  • 1、面向?qū)ο蟮奶卣饔心男┓矫? 答:面向?qū)ο蟮奶卣髦饕幸韵聨讉€方面: 1)抽象:抽象是將一類對象的共同特征總結出...
    yshenhn閱讀 1,270評論 0 8
  • 今天是連續(xù)幾天陣雨后的晴天,早晨的太陽慵懶地灑在城市的各個角落。在一所高檔酒店門前,夏江已停留了許久,她攢著手...
    早春與樹閱讀 402評論 0 1

友情鏈接更多精彩內(nèi)容