When trying to print an Object using the method you are using
System.out.println(object);//where object is something that extends Object
the toString method is called. This by default returns : getClass().getName() + '@' + Integer.toHexString(hashCode())
which is usually - as in this case - meaningless to a user. To overcome this, you could override this method in your Student class to return a string that is more meaningful. This won't help with printing the ArrayList directly, but will help you print each object that the ArrayList returns.