java期末复习3 (施工中)
Posted dpsama
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java期末复习3 (施工中)相关的知识,希望对你有一定的参考价值。
JAVA自用弱智错误锦集
java
1:数组new了之后第一次使用时需要对每个成员重新new一下,否则此时的数组成员指针为null,会报错
**Exception in thread "main" java.lang.NullPointerException**
如下代码:
City[] a= new City[10001];
//I intercity;
float sum=0;
for(int i=0;i<1000;i++) {
a[i].setpos((float)Math.random()*1000,(float)Math.random()*1000);
sum+=a[i].countdis();
}
应改为:
City[] a= new City[10001];
//I intercity;
float sum=0;
for(int i=0;i<1000;i++) {
a[i]=new City();
a[i].setpos((float)Math.random()*1000,(float)Math.random()*1000);
sum+=a[i].countdis();
}
数组越界也会报同样的错误(类似于segment fault)
2:方法重写(改写)和重载对的区别
重写方法必须满足下列条件
(1) 子类的方法的名称及参数必须和所覆盖的方法相同
(2) 子类的方法返回类型必须和所覆盖的方法相同//!!
(3) 子类方法不能缩小所覆盖方法的访问权限//!!
(4) 子类方法不能抛出比所覆盖方法更多的异常
重载方法必须满足下列条件
(1) 方法名必须相同
(2) 方法的参数签名必须相同
(3) 方法的返回类型和方法的修饰符可以不相同
3:java内部符号编码
使用Unicode码,16位
4:java方法的初始化块
非静态初始化块:{ . . . }
? 1:在创建对象的时候执行一次,先于构造器执行(无论其位置如何)
静态初始化块:static{ . . . }
? 1:仅在类被加载的时候执行一次,同样先于构造器执行(无论其位置如何)
5:java方法调用一定要加();考场没人给你编译器
6:王道读入法:
//import java.util.Scanner;
Scanner sc=new Scanner(System.in);
int n;
n=sc.nextInt();
以上是关于java期末复习3 (施工中)的主要内容,如果未能解决你的问题,请参考以下文章