importとは

 昨日、NetBeansのimport文補完機能について書いていて思ったのだが、メソッドそれぞれについて特定のimport文が必ず要るのなら、わざわざ


人間がimport文を書く必要は無いのではないか?



 コンパイル時にコンパイラーが自動でやってくれていいのではないか?別のクラスに同じ名前のメソッドがあって混乱するというのなら先頭か末尾に文字を増やして全て違う名前にすればいいのではないか?(実際アホみたいに長い名前のクラス・メソッドが実在するし。)これならコンパイル時に全て自動でimportを実行できる。
 BASICではこんな宣言文など無くてもいろんな命令を使えたもんだが・・・。(まあ、BASICにはクラスという概念そのものが無いが。)


 そもそも、他のクラスのメソッドを使うための方法が、importextendsimplementsの三通りあるのはどういうことなのだ?いや、implementsとextendsとはインターフェースを通す通さないの差があるので、まあ、extendsの方が簡易版として書きやすいが、結果としてプログラムがやってる事は変わらない。import文だって同じだ。
 しかし、例えばMathクラスのabs()メソッドを使いたい、となったらextendsではなくimportするのが一般的だ。


なぜそうするのだ?何が違うのだ?
違わんと思うのだが。