天天看點

程式中的常見錯誤

一、重載函數無法正常比對( 2018年09月09日)

x1 = (-b + sqrt(deta))/( 2*a );   

原因是沒有指定輸入參數的類型,導緻程式不知道該比對哪個重載函數;

定義的時候,deta為整型  而sqrt應該為double 或 float型。

二、"cout"不明确

把using namespace std;去掉再加上,就沒問題了(是IDE的問題)。

三、Eclipse用Scanner語句出現Resource leak: 'sc' is never closed。 

你申明了名為SC的資料輸入掃描器(Scanner),進而獲得了配置記憶體,但是結束時卻沒有關閉或釋放該記憶體,而出現警告,隻要用close()方法即可!

四、java  ------The public type Cylinde must be defined in its own file

出現The public type c must be defined in its own file這個問題,是由于定義的JAVA類同檔案名不一緻;

  解決方法:

  1、把檔案名修改同公共類一樣的名字;

  2、把類名修改成同檔案名;

  3.子類繼承父類時,不需要再用public修飾

五、靜态方法中為何不能定義私有變量

static修飾的是類變量也就是靜态變量,作用域是整個類中。 而方法中定義的變量是局部變量,作用域隻在于這個方法中。 如果用static修飾的話不就沖突了,是以方法中定義的變量不允許用static修飾

在方法内部定義的叫“局部變量”,而不是靜态變量,局部變量不能加static,包括protected, private, public這些也不能加。靜态變量是定義在類中,方法體外面的。

如果你清楚JVM,應該知道局部變量是儲存在棧中的,而靜态變量儲存于方法區,局部變量出了方法就被棧回收了,而靜态變量不會,是以在局部變量前不能加static關鍵字。

繼續閱讀