空指針錯(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ò)誤: