I'm kind of confused about the outputs.
This is the first program.
class A {
    private int price;
    private String name;
    public int getPrice() {
        return price;
    }
    public String getName() {
        return name;
    }
}
class B {
    public static void main(String[] args) {
        A a = new A();
        System.out.println(a.getName());
        System.out.println(a.getPrice());
    }
}
This program compile without error. And the variables have values.
output -
 null
 0
Second program is,
class B {
    public void value() {
        int x;
        System.out.println(x);
    }
}
This program won't even compile.
B.java:4: error: variable x might not have been initialized
The question is why these variables act different? What is the reason. This may be a very simple question. But kindly explain me.
Thanks.
 
    