空指針錯(cuò)誤:
class Student{
public String name;
public int age;
public void setName(String name){
this.name = name ;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age ;
}
public int getAge(){
return age;
}
}
public class NullPointerException {
public static void main(String[] args) {
Student[] s =new Student[2];
s[0].setName("張三");
s[0].setAge(21);
s[1].setName("李四");
s[1].setAge(22);
for(int i=0;i<s.length;i++){
System.out.println(s[i].getName()+s[i].getAge());
}
}
}
我們看看運(yùn)行結(jié)果:
數(shù)組越界錯(cuò)誤:
public class OutException {
public static void main(String[] args) {
int a[]=new int [10];
for(int i=0;i<=a.length;i++){
a[i]=2*i+1;
System.out.println(a[i]);
}
}
}
我們?cè)倏纯催\(yùn)行結(jié)果:

我們看看父類(lèi)向子類(lèi)強(qiáng)行轉(zhuǎn)化時(shí)所發(fā)生的錯(cuò)誤。
下面附代碼:
class Father{
public void fun(){
System.out.println("這是父類(lèi)的fun方法");
}
}
class Son extends Father{
public void fun(){
System.out.println("這是子類(lèi)的fun方法");
}
public void print(){
System.out.println("這是子類(lèi)的print方法");
}
}
public class Convert {
public static void main(String[] args) {
Father father = new Son();
father.fun();
//father.print();
}
}
我們看看運(yùn)行結(jié)果:

如果我們把father.print()方法加入進(jìn)去,那么在父類(lèi)找不到該方法就會(huì)報(bào)錯(cuò),我們看看發(fā)生了什么錯(cuò)誤:
