javaimportcompile-timecannot-find-symbolfully-qualified-naming

fully qualified name vs import statement


case 1.

class A extends java.util.ArrayList
{

    public static void main(String[] args)
    { 

        ArrayList a=new ArrayList();
    }

}

Here I am getting a compiletime error saying,

  cannot find symbol 
         
  Symbol:class ArrayList 
   
  location:class A

case 2.

class A extends java.util.ArrayList
{

}

This one is compiling successfully.

Then what's the need of extending ArrayList class? If we can't make use of it (as in case 1)?


Solution

  • Based on my understanding of your question, you would like to use fully qualified name against import.

    The reason you are getting error in first case is because you missed to mention fully qualified class name while doing:

    ArrayList a=new ArrayList();
    

    Each time you are declaring ArrayList object in this scenario, you have to use fully qualified name.

    Reference : https://docs.oracle.com/javase/tutorial/java/package/usepkgs.html