激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Java中的動(dòng)態(tài)和靜態(tài)編譯實(shí)例詳解

Java中的動(dòng)態(tài)和靜態(tài)編譯實(shí)例詳解

2020-09-05 11:05Java之家 Java教程

這篇文章主要介紹了Java中的動(dòng)態(tài)和靜態(tài)編譯實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下

Java中的動(dòng)態(tài)和靜態(tài)編譯實(shí)例詳解

首先,我們來說說動(dòng)態(tài)和靜態(tài)編譯的問題。

   Q: java和javascript有什么區(qū)別?

   總結(jié)了一下:有以下幾點(diǎn)吧:

      1.首先從運(yùn)行環(huán)境來說java代碼是在JVM上編譯成class文件,而javascript則直接在瀏覽器上加載運(yùn)行。

      2.由第一點(diǎn)可看出,java代碼需要編譯,而javascript不需要編譯。

      3.從語言性質(zhì)來說,java是一種高級(jí)編程語言,對(duì)變量檢查要求嚴(yán)格,javascript只是一個(gè)簡單的解釋性的腳本語言,對(duì)變量檢查及要求很弱。

      4.javascript是一種動(dòng)態(tài)的語言,java則是"半動(dòng)態(tài)"的。

   javascript是動(dòng)態(tài)的,這無須質(zhì)疑。為什么java是半動(dòng)態(tài)的?請(qǐng)看下列代碼:

?
1
2
3
4
5
6
7
public class Color{
  
   public void changeColor(){
     System.out.println("要改變的顏色是紅色");
   }
 
}
?
1
2
3
4
5
6
7
8
9
public class Frame{
 
    public static void main(String args[]){
      Color c=new Color();
      c.changeColor();
    }
 
}

   Frame類中通過直接new一個(gè)Color對(duì)象從而調(diào)用其方法,這是在編譯時(shí)確定對(duì)象,從而確定關(guān)系。我認(rèn)為這是java語言靜態(tài)性的一個(gè)體現(xiàn)。而且如果編譯后的Color.class文件丟失,會(huì)報(bào)一個(gè)錯(cuò)誤。

   java.lang.NoClassDefFoundError........

  如果通過以下代碼,我們則可以發(fā)現(xiàn)java的動(dòng)態(tài)性:

?
1
2
3
4
5
public interface Color{
  
   public void changeColor();
 
}
?
1
2
3
4
5
6
public class ColorImp implements Color{
 
     public void changeColor(){
       System.out.println("顏色改變?yōu)榧t色");
     }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Frame{
 
    public static void main(String args[])throws Exception{
      System.out.println("請(qǐng)輸入您要輸入的類的名字");
      //輸入一個(gè)類的名字
      java.util.Scanner sc=new java.util.Scanner(System.in); 
      String s=sc.next();
      //加載這個(gè)類
      Class c=Class.forName(s);
      //獲得這個(gè)類的實(shí)例化對(duì)象
      Object obj=c.newInstance();
      //強(qiáng)制轉(zhuǎn)型
      Color color=(Color)obj;
      color.changeColor();
    }
 
}

    注意Frame類,當(dāng)我們編譯它的時(shí)候,只會(huì)出現(xiàn)兩個(gè)class文件--Frame.class和Color.class,然后我們運(yùn)行這個(gè)程序,由于沒有編譯ColorImp,會(huì)拋出一個(gè)異常-- java.lang.ClassNotFoundException。

     于是,我們打開另一個(gè)cmd進(jìn)程,單獨(dú)編譯ColorImp類,再在上一個(gè)cmd對(duì)話框中輸入ColorImp,則程序會(huì)正常運(yùn)行。

     這樣我們可以在不停止程序運(yùn)行的情況下,動(dòng)態(tài)地加載一個(gè)類。我認(rèn)為這體現(xiàn)出了Java的動(dòng)態(tài)性。通過上面的例子,我認(rèn)為java語言是一種“半動(dòng)態(tài)”語言。

     我們可以看出,上述例子使用了Color接口類。這里不得不提我對(duì)接口的一點(diǎn)小小感觸。

     在使用數(shù)據(jù)庫的時(shí)候,Java語言只是定義了一個(gè)數(shù)據(jù)庫接口,然后不同的數(shù)據(jù)庫來實(shí)現(xiàn)這個(gè)借口。這些包括了(以mysql數(shù)據(jù)庫為例)
    加載數(shù)據(jù)庫驅(qū)動(dòng):

?
1
Class.forName("com.mysql.jdbc.Driver");

 建立與數(shù)據(jù)庫的鏈接:

?
1
2
java.sql.Connection conn = java.sql.DriverManager.getConnection(
          url, user, password);

取得編譯對(duì)象和結(jié)果集對(duì)象等,這些都只是定義了接口,具體的實(shí)現(xiàn)則交給了數(shù)據(jù)庫開發(fā)商,只要實(shí)現(xiàn)了這個(gè)接口就行。這就體現(xiàn)了接口的擴(kuò)展性和規(guī)范性。  

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

原文鏈接:http://08rjzhou.iteye.com/blog/726396

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品99久久久久久久 | av黄色片网站| 久久久麻豆 | 精品亚洲在线 | 久久久aa | 一级免费特黄视频 | 91九色免费视频 | 蜜桃视频最新网址 | 亚洲成人在线免费 | 亚洲一级片在线观看 | 免费在线观看成年人视频 | 羞羞视频免费网站含羞草 | 日本成年免费网站 | 日本黄色免费片 | 一级网站 | 国产91免费看 | 精品国产看高清国产毛片 | 中国洗澡偷拍在线播放 | 精品久久久久久久久亚洲 | 91久久国产露脸精品国产 | 久精品国产 | 暴力肉体进入hdxxxx0 | 色偷偷欧美 | 日韩毛片在线看 | 成人午夜在线观看视频 | 高清在线国产 | hdhdhd69ⅹxxx黑人| 国产88久久久国产精品免费二区 | 国产一区精品在线观看 | 亚洲欧美一区二区三区在线观看 | 国产91大片 | 中文字幕在线观看视频www | 国产成人自拍视频在线观看 | 大胆在线日本aⅴ免费视频 美国黄色毛片女人性生活片 | 国产精品自拍av | 一级在线 | 毛毛片在线看 | 爱爱视频天天干 | 久久久国产一区二区三区 | 精品中文字幕视频 | 国产资源在线看 |