天天看点

程序中的常见错误

一、重载函数无法正常匹配( 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关键字。

继续阅读