All classes in Java by default extends Object
public class Dog{
public Dog()
}
public static void main(String args[]){
Dog dog = new Dog();
}
If I compile this code JVM will create 2 classes on heap 1- Object 2- Dog. What happens if Dog class implements an Interface and extends an Abstract class?
public interface Animal{
}
public abstract class Mammal{
}
In this case Dog will implement Animal interface and extend Mammal abstract class:
public class Dog extends Mammal implements Animal{
public Dog();
}
When I create a Dog object now like I did before how many objects is the JVM going to create on the heap?
public static void main(String args[]){
Animal Dog = new Dog();
}
And if I create Dog with Animal type, what changes?