Sunday, March 6, 2016

Package in Java-2

Package in Java-2

How to access package from another package?

There are three ways to access the package from outside the package.

    import package.*;
    import package.classname;
    fully qualified name.

Using packagename.*
If you use package.* then all the classes and interfaces of this package will be
accessible but not subpackages.
The import keyword is used to make the classes and interface of another package
accessible to the current package.


Example of package that import the packagename.*

    //save by A.java 
     
    package pack; 
    public class A{ 
      public void msg(){System.out.println("Hello");} 
    } 

    //save by B.java 
     
    package mypack; 
    import pack.*; 
     
    class B{ 
      public static void main(String args[]){ 
       A obj = new A(); 
       obj.msg(); 
      } 
    } 

Output:Hello


Using packagename.classname

If you import package.classname then only declared class of this package will be accessible.
Example of package by import package.classname

    //save by A.java 
     
    package pack; 
    public class A{ 
      public void msg(){System.out.println("Hello");} 
    } 

    //save by B.java 
     
    package mypack; 
    import pack.A; 
     
    class B{ 
      public static void main(String args[]){ 
       A obj = new A(); 
       obj.msg(); 
      } 
    } 

Output:Hello


Using fully qualified name

If you use fully qualified name then only declared class of this package will be
accessible. Now there is no need to import. But you need to use fully qualified
name every time when you are accessing the class or interface.

It is generally used when two packages have same class name e.g. java.util and java.sql
packages contain Date class.

Example of package by import fully qualified name


    //save by A.java 
     
    package pack; 
    public class A{ 
      public void msg(){System.out.println("Hello");} 
    } 

    //save by B.java 
     
    package mypack; 
    class B{ 
      public static void main(String args[]){ 
       pack.A obj = new pack.A();//using fully qualified name 
       obj.msg(); 
      } 
    } 

Output:Hello


Note: If you import a package, subpackages will not be imported.

If you import a package, all the classes and interface of that package will be
imported excluding the classes and interfaces of the subpackages.
Hence, you need to import the subpackage as well.

Note: Sequence of the program must be package then import then class.
 


No comments:

Post a Comment