码迷,mamicode.com
首页 > 编程语言 > 详细

java期末复习3 (施工中)

时间:2019-12-14 11:56:48      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:main   amp   覆盖   方法重写   pointer   lang   数组   权限   成员指针   

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 (施工中)

标签:main   amp   覆盖   方法重写   pointer   lang   数组   权限   成员指针   

原文地址:https://www.cnblogs.com/dpsama/p/12038335.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!