Packages
Packages
1
Creating and importing an user defined package
Ex : 1. mypackage
2. mypackage.util
2
2. Choose a directory in your hard drive as the
root directory of your package.
– You need a place on your hard disk to store your
packages.
– For example, create a directory such as c:\mylib
– This folder becomes the root directory for your
packages.
3
3.Create subdirectories within the root directory
for your package name.
4
4. Add the root directory for your package to
the classpath environment variable.
5
5. Add a package statement at the beginning of
each source file.
6
6. Save the files for any classes you want to be
in a particular package in the corresponding
package directory.
7
Ex:
package mypackage.util;
public class Sum
{
public int sumInt(int a[])
{
int s=0;
for(int i=0;i<a.length;i++)
{
s = s+a[i];
}
return s;
}
}
8
Contd..
import mypackage.util.*;
class PackageDemo
{
public static void main( String args[])
{
int x[] = {1,2,3,4,5};
Sum s = new Sum();
System.out.println(s.sumInt(x));
}
}
9
• In general, a Java source file can contain any (or all)
of the following four internal parts:
10
Java Built-In Packages
• There are six built-in packages :
– java.lang
• Contains classes for Strings, Math functions, Threads, and Exception
– java.util
• Contains classes such as Scanner, Vector,date, Calendar etc.
– java.io
• Stream classes for I/O
– java.awt
• Classes for implementing GUI – Windows, Buttons, Menus etc.
– java.net
• Classes for Network programming
– Java.sql
• Classes for Database accessing.
– java.applet
• Classes for creating and implementing applets
11
Accessing Classes from Packages
• There are two ways of accessing the classes
from packages:
12
• Selected class or all classes in packages can be
imported:
– import package.ClassName;
– import package.*;
13
Scopes defined by a class
There are five categories of visibility for class members.
– Same class
– Subclasses in the same package.
– Non-subclasses in the same package.
– Subclasses in different packages.
– Non-subclasses in different packages.
14
To summarize
15
Contd..
• We can simplify access protection as follows:
– Anything declared public can be accessed from
anywhere.
– Anything declared private can be accessed within the
same class only.
– default is visible to the same class, subclasses and non-
subclasses in the same package.
– protected is visible to the same class, subclasses, non-
subclasses in the same package and subclasses in different
packages.
16
Class / Interface access modifiers
17