空指针错误:

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());
  }

 }

}

我们看看运行结果:




数组越界错误:

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]);
  }
 }

}

我们再看看运行结果:




我们看看父类向子类强行转化时所发生的错误。
下面附代码:

class Father{
 public void fun(){
  System.out.println("这是父类的fun方法");
 }
}
class Son extends Father{
 public void fun(){
  System.out.println("这是子类的fun方法");
 }
    public void print(){
     System.out.println("这是子类的print方法");
 }
}
public class Convert {

 public static void main(String[] args) {
  Father father = new Son();
  father.fun();
  //father.print();
 }
}

我们看看运行结果:



如果我们把father.print()方法加入进去,那么在父类找不到该方法就会报错,我们看看发生了什么错误: