Java definiuje lub inicjuje atrybuty klasy

Czy jest różnica międzydefiniowanie atrybuty klasy iinicjowanie im? Czy są przypadki, w których chcesz zrobić jedno nad drugim?

Przykład:

Poniższe fragmenty kodu powinny wskazywać na różnicę, którą mam na myśli. Używam tam prymitywu i obiektu:

import Java.util.Random;

public class Something extends Activity {
    int integer;
    Random random = null;

    Something(){
        integer = 0;
        random = new Random();
        ....

vs.

import Java.util.Random;

public class Something extends Activity {
    int integer = null;
    Random random;

    Something(){
        integer = 0;
        random = new Random();
        ....

questionAnswers(3)

yourAnswerToTheQuestion