解释性语言每执行一次就要翻译一次,效率比较低
解释性语言编写的程序不进行预先编译,以文本方式存储程序代码。在发布程序时,看起来省了道编译工序。
但是,在运行程序的时候,解释性语言必须先解释再运行。
比如解释性Basic语言,其专用的解释器在执行Basic程序时,会逐条读取解释每个语句,这个其实就是一个编译过程,然后再执行。
一般来说,现有的解释性语言都是采用的逐行解释一句,执行一句这样的方式来构建的。这样解释性语言每执行一次就要翻译一次,效率比较低。
1 package Com.Table; 2 3 class Account 4 { 5 String name; 6 double balance; 7 public Account(String name, double balance) 8 { 9 this.name = name; 10 this.balance = balance; 11 } 12 13 void withdrawal(double amount) throws InsufficientFundException 14 { 15 if (amount > this.balance) { 16 throw new InsufficientFundException(); 17 } 18 else 19 { 20 this.balance = this.balance - amount; 21 System.out.println(this.name+"取款成功!\n余额:" + this.balance); 22 } 23 } 24 } 25 26 27 public class EighteenTable { 28 public static void main(String []args) 29 { 30 try { 31 Account ac = new Account("borter", 50); 32 ac.withdrawal(40); 33 ac.withdrawal(40); 34 } 35 catch (InsufficientFundException e) 36 { 37 System.out.print("余额不足!"); 38 } 39 } 40 } 41 42 class InsufficientFundException extends Exception 43 { 44 45 }