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();
posted @ 2019-12-14 10:37  救死扶伤dpsama  阅读(115)  评论(0编辑  收藏  举报