SlideShare a Scribd company logo
1 of 14
PACKAGES IN JAVA
Elizabeth Alexander
Hindustan University
PACKAGES
● Packages in Java is a mechanism to encapsulate a group of classes, interfaces
and sub packages.
● In java there are already many predefined packages that we use while
programming.
■ For example: java.lang, java.io, java.util etc.
● One of the most useful feature of java is that we can define our own packages
PACKAGES Cont...
Advantages of using a package
● Reusability: Reusability of code is one of the most important requirements in the
software industry. Reusability saves time, effort and also ensures consistency. A
class once developed can be reused by any number of programs wishing to
incorporate the class in that particular program.
● Easy to locate the files.
● In real life situation there may arise scenarios where we need to define files of the
same name. This may lead to “name-space collisions”. Packages are a way of
avoiding “name-space collisions”.
PACKAGES Cont...
● Many implementations of Java use a hierarchical file system to manage source
and class files. It is easy to organize class files into packages. All we need to do is
put related class files in the same directory, give the directory a name that relates
to the purpose of the classes, and add a line to the top of each class file that
declares the package name, which is the same as the directory name where they
reside.
● Types of package:
■ 1) User defined package: The package we create is called user-defined
package.
■ 2) Built-in package: The already defined package like java.io.*,
java.lang.* etc are known as built-in packages.
PACKAGES Cont...
Defining a Package:
● This statement should be used in the beginning of the program to include that
program in that particular package.
package <package name>;
● The package keyword is used to create a package in java.
To Compile: javac -d directory javafilename.java
To Run: java packagename.classname
● The -d switch specifies the destination where to put the generated class file
● If you want to keep the package within the same directory, you can use . (dot).
How to access package from another package?
There are three ways to access the package from outside the package.
1. import package.*;
2. import package.classname;
3. 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.
Using packagename.classname
● If you import package.classname then only declared class of this package will be
accessible.
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.
Note: 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.
Sequence of the program must be package then import then class.
Packaging up multiple classes
Package with Multiple Public Classes
● A Java source file can have only one class declared as public, we cannot put two
or more public classes together in a.java file. This is because of the restriction
that the file name should be same as the name of the public class with
.javaextension.
● If we want to multiple classes under consideration are to be declared as public,
we have to store them in separate source files and attach the package
statement as the first statement in those source files.
//Save as A.java //Save as B.java
package javapoint; package java
Public class B{} public class a{}
CLASSPATH
● It is a environmental variable, which contains the path for the default-working
directory (.).
● The specific location that java compiler will consider, as the root of any package
hierarchy is, controlled by Classpath
● The package name is closely associated with the directory structure used to store
the classes. The classes (and other entities) belonging to a specific package are
stored together in the same directory.
● There is a scenario, I want to put the class file of A.java source file in classes
folder of c: drive. For example:
//save as Simple.java
package mypack;
public class Simple{
public static void main(String args[]){
System.out.println("Welcome to package");
}
}
To Compile:
e:sources> javac -d c:classes Simple.java
To Run:
To run this program from e:source directory, you need to set classpath of the directory
where the class file resides.
e:sources> set classpath=c:classes;
e:sources> java mypack.Simple
Another way to run this program by -classpath switch of
java:
● The -classpath switch can be used with javac and java tool.
● To run this program from e:source directory, you can use -classpath switch of
java that tells where to look for class file. For example:
■ e:sources> java -classpath c:classes mypack.Simple
Access Protection in Packages
● Access modifiers define the scope of the class and its members (data and
methods).
● There are four categories, provided by Java regarding the visibility of the class
members between classes and packages:
■ Subclasses in the same package
■ Non-subclasses in the same package
■ Subclasses in different packages
■ Classes that are neither in the same package nor subclasses
Packages in java

More Related Content

What's hot

Java Presentation
Java PresentationJava Presentation
Java Presentation
pm2214
 
Java exception handling
Java exception handlingJava exception handling
Java exception handling
BHUVIJAYAVELU
 
Multithreading in java
Multithreading in javaMultithreading in java
Multithreading in java
Raghu nath
 

What's hot (20)

Strings in Java
Strings in JavaStrings in Java
Strings in Java
 
Java packages
Java packagesJava packages
Java packages
 
Constructor in java
Constructor in javaConstructor in java
Constructor in java
 
Presentation on-exception-handling
Presentation on-exception-handlingPresentation on-exception-handling
Presentation on-exception-handling
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
 
Java interfaces
Java interfacesJava interfaces
Java interfaces
 
Java Tokens
Java  TokensJava  Tokens
Java Tokens
 
Abstract class in java
Abstract class in javaAbstract class in java
Abstract class in java
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
 
Java Data Types
Java Data TypesJava Data Types
Java Data Types
 
Java exception handling
Java exception handlingJava exception handling
Java exception handling
 
Multithreading in java
Multithreading in javaMultithreading in java
Multithreading in java
 
Polymorphism in java
Polymorphism in javaPolymorphism in java
Polymorphism in java
 
Basics of JAVA programming
Basics of JAVA programmingBasics of JAVA programming
Basics of JAVA programming
 
Java program structure
Java program structure Java program structure
Java program structure
 
Control Statements in Java
Control Statements in JavaControl Statements in Java
Control Statements in Java
 
Constructor in java
Constructor in javaConstructor in java
Constructor in java
 
itft-Decision making and branching in java
itft-Decision making and branching in javaitft-Decision making and branching in java
itft-Decision making and branching in java
 
Java Streams
Java StreamsJava Streams
Java Streams
 
Error managing and exception handling in java
Error managing and exception handling in javaError managing and exception handling in java
Error managing and exception handling in java
 

Similar to Packages in java

Unit4 java
Unit4 javaUnit4 java
Unit4 java
mrecedu
 

Similar to Packages in java (20)

Packages in java
Packages in javaPackages in java
Packages in java
 
javapackage
javapackagejavapackage
javapackage
 
Java packages oop
Java packages oopJava packages oop
Java packages oop
 
Packages
PackagesPackages
Packages
 
Packages in java
Packages in javaPackages in java
Packages in java
 
packages.ppt
packages.pptpackages.ppt
packages.ppt
 
Package in Java
Package in JavaPackage in Java
Package in Java
 
Java packages
Java packagesJava packages
Java packages
 
Packages
PackagesPackages
Packages
 
THE PACKAGES CONCEPT IN JAVA PROGRAMMING.pptx
THE PACKAGES CONCEPT  IN JAVA PROGRAMMING.pptxTHE PACKAGES CONCEPT  IN JAVA PROGRAMMING.pptx
THE PACKAGES CONCEPT IN JAVA PROGRAMMING.pptx
 
Java - Packages Concepts
Java - Packages ConceptsJava - Packages Concepts
Java - Packages Concepts
 
Class notes(week 7) on packages
Class notes(week 7) on packagesClass notes(week 7) on packages
Class notes(week 7) on packages
 
Packages in java
Packages in javaPackages in java
Packages in java
 
Packages in java
Packages in javaPackages in java
Packages in java
 
Packages
PackagesPackages
Packages
 
Javapackages 4th semester
Javapackages 4th semesterJavapackages 4th semester
Javapackages 4th semester
 
7.Packages and Interfaces(MB).ppt .
7.Packages and Interfaces(MB).ppt             .7.Packages and Interfaces(MB).ppt             .
7.Packages and Interfaces(MB).ppt .
 
Java Packages
Java Packages Java Packages
Java Packages
 
Class notes(week 7) on packages
Class notes(week 7) on packagesClass notes(week 7) on packages
Class notes(week 7) on packages
 
Unit4 java
Unit4 javaUnit4 java
Unit4 java
 

More from Elizabeth alexander (10)

Java awt (abstract window toolkit)
Java awt (abstract window toolkit)Java awt (abstract window toolkit)
Java awt (abstract window toolkit)
 
Java applet
Java appletJava applet
Java applet
 
Io streams
Io streamsIo streams
Io streams
 
Multithreading programming in java
Multithreading programming in javaMultithreading programming in java
Multithreading programming in java
 
Exception handling in java
Exception handling  in javaException handling  in java
Exception handling in java
 
Java interfaces
Java   interfacesJava   interfaces
Java interfaces
 
Inheritance in Java
Inheritance in JavaInheritance in Java
Inheritance in Java
 
Object oriented programming in java
Object oriented programming in javaObject oriented programming in java
Object oriented programming in java
 
Quantitative Aptitude- Number System
Quantitative Aptitude- Number SystemQuantitative Aptitude- Number System
Quantitative Aptitude- Number System
 
Java Programming
Java ProgrammingJava Programming
Java Programming
 

Recently uploaded

Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
pritamlangde
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 

Recently uploaded (20)

Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
fitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .pptfitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .ppt
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Linux Systems Programming: Inter Process Communication (IPC) using Pipes
Linux Systems Programming: Inter Process Communication (IPC) using PipesLinux Systems Programming: Inter Process Communication (IPC) using Pipes
Linux Systems Programming: Inter Process Communication (IPC) using Pipes
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 

Packages in java

  • 1. PACKAGES IN JAVA Elizabeth Alexander Hindustan University
  • 2. PACKAGES ● Packages in Java is a mechanism to encapsulate a group of classes, interfaces and sub packages. ● In java there are already many predefined packages that we use while programming. ■ For example: java.lang, java.io, java.util etc. ● One of the most useful feature of java is that we can define our own packages
  • 3. PACKAGES Cont... Advantages of using a package ● Reusability: Reusability of code is one of the most important requirements in the software industry. Reusability saves time, effort and also ensures consistency. A class once developed can be reused by any number of programs wishing to incorporate the class in that particular program. ● Easy to locate the files. ● In real life situation there may arise scenarios where we need to define files of the same name. This may lead to “name-space collisions”. Packages are a way of avoiding “name-space collisions”.
  • 4. PACKAGES Cont... ● Many implementations of Java use a hierarchical file system to manage source and class files. It is easy to organize class files into packages. All we need to do is put related class files in the same directory, give the directory a name that relates to the purpose of the classes, and add a line to the top of each class file that declares the package name, which is the same as the directory name where they reside. ● Types of package: ■ 1) User defined package: The package we create is called user-defined package. ■ 2) Built-in package: The already defined package like java.io.*, java.lang.* etc are known as built-in packages.
  • 5.
  • 6. PACKAGES Cont... Defining a Package: ● This statement should be used in the beginning of the program to include that program in that particular package. package <package name>; ● The package keyword is used to create a package in java. To Compile: javac -d directory javafilename.java To Run: java packagename.classname ● The -d switch specifies the destination where to put the generated class file ● If you want to keep the package within the same directory, you can use . (dot).
  • 7. How to access package from another package? There are three ways to access the package from outside the package. 1. import package.*; 2. import package.classname; 3. 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.
  • 8. Using packagename.classname ● If you import package.classname then only declared class of this package will be accessible. 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. Note: 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.
  • 9. Sequence of the program must be package then import then class.
  • 10. Packaging up multiple classes Package with Multiple Public Classes ● A Java source file can have only one class declared as public, we cannot put two or more public classes together in a.java file. This is because of the restriction that the file name should be same as the name of the public class with .javaextension. ● If we want to multiple classes under consideration are to be declared as public, we have to store them in separate source files and attach the package statement as the first statement in those source files. //Save as A.java //Save as B.java package javapoint; package java Public class B{} public class a{}
  • 11. CLASSPATH ● It is a environmental variable, which contains the path for the default-working directory (.). ● The specific location that java compiler will consider, as the root of any package hierarchy is, controlled by Classpath ● The package name is closely associated with the directory structure used to store the classes. The classes (and other entities) belonging to a specific package are stored together in the same directory. ● There is a scenario, I want to put the class file of A.java source file in classes folder of c: drive. For example:
  • 12. //save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println("Welcome to package"); } } To Compile: e:sources> javac -d c:classes Simple.java To Run: To run this program from e:source directory, you need to set classpath of the directory where the class file resides. e:sources> set classpath=c:classes; e:sources> java mypack.Simple
  • 13. Another way to run this program by -classpath switch of java: ● The -classpath switch can be used with javac and java tool. ● To run this program from e:source directory, you can use -classpath switch of java that tells where to look for class file. For example: ■ e:sources> java -classpath c:classes mypack.Simple Access Protection in Packages ● Access modifiers define the scope of the class and its members (data and methods). ● There are four categories, provided by Java regarding the visibility of the class members between classes and packages: ■ Subclasses in the same package ■ Non-subclasses in the same package ■ Subclasses in different packages ■ Classes that are neither in the same package nor subclasses