0% found this document useful (0 votes)
40 views

Packages in Java: A.Hemlathadhevi

Packages in Java allow grouping of related classes and interfaces to avoid naming collisions. Some key points: - Packages encapsulate classes, interfaces, and subpackages. There are predefined packages like java.lang. - Packages improve reusability and organization of code. They make it easy to locate files. - To use a class from another package, it must be imported or referenced by its fully qualified name. - The package statement declares the package a class belongs to. Class files are stored accordingly in the file system.

Uploaded by

Hem Ramesh
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

Packages in Java: A.Hemlathadhevi

Packages in Java allow grouping of related classes and interfaces to avoid naming collisions. Some key points: - Packages encapsulate classes, interfaces, and subpackages. There are predefined packages like java.lang. - Packages improve reusability and organization of code. They make it easy to locate files. - To use a class from another package, it must be imported or referenced by its fully qualified name. - The package statement declares the package a class belongs to. Class files are stored accordingly in the file system.

Uploaded by

Hem Ramesh
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 24

PACKAGES IN JAVA

A.Hemlathadhevi
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
Date class

The Date classes encapsulate information about a specific date and time.
It provides the following constructors.
Date()
Date(long msec)
Here, the first form returns an object that represent the current date and
time.
The second form returns an object that represents the date and time msec
in milliseconds
Method Description

Boolean Returns true if d is after the current Otherwise,


date.after(Date d) returns false
Boolean Returns true if d is before the current Otherwise,
date.before(Date d) returns false.
Boolean Returns true if d has the same value as the current
equals(Date d) date. Otherwise, returns false.
Long getTime() Returns the number of milliseconds since the epoch.
Void setTime Sets the date and time of the current object to
(long msec) represent msec milliseconds since the epoch.

String toString() Returns the string equivalent of the date.  


import java.util.*;
public class Date_Demo
{
public static void main(String args[])
{
Date dt = new Date();
System.out.println(dt);
Date epoch = new Date(0);
System.out.println(epoch);
}}
Output :
Fri May 25 00:04:06 IST 2012
Thu Jan 01 05:30:00 IST 1970
import java.util.Date;
public class date2
{
public static void main(String[] args)
{
Date d1 = new Date(); Output
: try
{ First Date : Fri May 25 00:06:46 IST 2012
Thread.sleep(1000);
} Second Date : Fri May 25 00:06:47 IST
catch(Exception e){} 2012
Date d2 = new Date(); Is second date after first ? : true
System.out.println("First Date : " + d1);
System.out.println("Second Date : " + d2);
System.out.println("Is second date after first ? : " + d2.after(d1));
}} 
import java.util.*;
public class date3
{
public static void main(String args[])
{
Date date = new Date();
System.out.println("Date is : " + date);
System.out.println("Milliseconds since January 1, 1970, 00:00:00 GMT : " + date.getTime());
Date epoch = new Date(0);
date.setTime(10000);
System.out.println("Time after 10 second " + epoch);
System.out.println("Time after 10 second " + date);
String st = date.toString();
System.out.println(st);
}}
Output : Date is : Fri May 25 00:12:52 IST 2012
Milliseconds since January 1, 1970, 00:00:00 GMT : 1337884972842
Time after 10 second Thu Jan 01 05:30:00 IST 1970
Calendar & Gregorian class
The Calendar class allows you to interpret date and time information.

This class defines several integer constants that are used when you get or set
components of the calendar.
AM ,AM_PM ,APRIL,AUGUST ,DATE ,DAY_OF_MONTH
,DAY_OF_WEEK_IN_M,DAY_OF_WEEK ,DAY_OF_YEAR ,DECEMBER
,DST_OFFSET ,ERA,FEBRUARY, FIELD_COUNT, FRIDAY,HOUR
,HOUR_OF_DAY ,JANUARY,JULY, JUNE, MARCH,MAY, MILLISECOND,
MINUTE 
import java.util.Calendar;
public class Cal1
{
public static void main(String[] args)
{
Calendar cal = Calendar.getInstance();
System.out.println("DATE is : " + cal.get(cal.DATE));
System.out.println("YEAR is : " + cal.get(cal.YEAR));
System.out.println("MONTH is : " + cal.get(cal.MONTH));
System.out.println("DAY OF WEEK is : " + cal.get(cal.DAY_OF_WEEK));
System.out.println("WEEK OF MONTH is : " +
cal.get(cal.WEEK_OF_MONTH));
System.out.println("DAY OF YEAR is : " + cal.get(cal.DAY_OF_YEAR));
System.out.println("DAY OF MONTH is : " + cal.get(cal.DAY_OF_MONTH));
System.out.println("WEEK OF YEAR is : " + cal.get(cal.WEEK_OF_YEAR));
System.out.println("HOUR is : " + cal.get(cal.HOUR));
System.out.println("MINUTE is : " + cal.get(cal.MINUTE));
System.out.println("SECOND is : " + cal.get(cal.SECOND));
Output :
Date is : Fri May 25 00:21:14 IST 2012
Milliseconds since January 1, 1970, 00:00:00 GMT :1337885474477T
Time after 10 second Thu Jan 01 05:30:00 IST 1970
Time after 10 second Thu Jan 01 05:30:10 IST 1970
Thu Jan 01 05:30:10 IST 1970 

You might also like