Translate

JAVA TRAINING REPORT

 

                          JAVA TRAINING REPORT

 

A report submitted in partial fulfillment of the requirements for the Award of Degree of

 

BACHELOR OF TECHNOLOGY

in

COMPUTER SCIENCE AND ENGINEERING

                                  

        

                            by    SACHIN KUMAR

Roll no. :

 

Under Supervision of .

Ms. Diksha Tiwari

(2020-21)

 

 

 

 COMPUTER SCIENCE & ENGINEERING DEPARTMENT

 

KRISHNA INSTITUTE OF TECHNOLOGY, KANPUR

 

 

 

 

 (Affiliated to Dr. A.P.J Abdul Kalam Technical University, Lucknow)

                                                                                              December , 2021


 

INDEX

 

 

 

S. No

TOPIC NAME

PAGE NO.

SIGN.

1

Company Profile

7

 

2

Introduction To Java

8

 

3

The Java Platform

9

 

4

Installation Of Java

10

 

5

Configuring Variable

11

 

6

Write, Compile And Run a Java Program

13

 

7

Package

15

 

8

Class And Object

16

 

9

Inheritance

17

 

10

Variable And Method

18

 

11

Modifiers And Import Statement

20

 

12

Interface

22

 

13

Working With Classes

24

 

14

IDE

27

 

15

History of Java

40

 

16

Features of Java

43

 

 

                            Acknowledgement

 

 

 

 It is our privilege to express our sincerest regards to our JAVA TRAINING REPORT coordinator, Ms. ......., for their valuable inputs, able guidance, encouragement, whole-hearted cooperation and constructive criticism throughout the duration of our  JAVA TRAINING REPORT.

 

We deeply express our sincere thanks to our Head of Department Mr. .............. for encouraging and allowing us to present the project on the topic “JAVA TRAINING REPORT “at our department premises for the partial fulfillment of the requirements leading to the award of B-Tech degree.

 

We take this opportunity to thank all our lecturers who have directly or indirectly helped our JAVA TRAINING REPORT. We pay our respects and love to our parents and all other family members and friends for their love and encouragement through out our career. Last but not the least we express our thanks to our friends for their cooperation and support.

 


 


COMPANY   PROFILES


Centre for Research and  Industrial  Staff  Performanc  (CRISP),  Bhopal has  been established  in the year 1997  as  a  Society  under  the  Indo  –German  Technical  Cooperation  agreement. Ministry of MSME, Government of India was the line ministry for this project whereas the Department of Technical Education & Skill Development, Government of Madhya Pradesh and German Technical Cooperation agency (GTZ) were the implementation partners. It is headquartered in Bhopal with national & international operations dedicated to human resource development  &  organizational  development.  These  activities  are  targeted  at  Government, Industries, Academic Institutions, Developmental Organizations as well as the Civil Society.

The organization has excellent infrastructure in terms of sophisticated laboratories in the  field  of Industrial Automation, Mechatronics, Production Technology, Information & Communication Technology (ICT), Multimedia Technology etc. CRISP  is  one  of  the  most  preferred  service providers  in  the  areas  of  Technical  Vocational  Education  &  Training   (TVET),   Training Institution Management and Entrepreneurship development.

FEATURES:-

Ø  A    nodal   Centre   for   Department   of   Technical       Education  &    Skill Development Government of Madhya Pradesh for technical and management staff capacity building.

Ø  More    than   500    delighted     clients      from   Industries,     Central   &   State   Government Organizations, Academia, Developmental Organizations etc.

Ø  A role model for German Technical Co-operation  Agency  (GTZ)  for  replicating  CRISP like successful Project in India and other countries.

Ø  Practicing professional & management principles in our operations.

Ø  Facilitating applications of e-Governance for State Govt. of Madhya Pradesh.

Ø  A strong team of qualified &  experienced employees  (more  than 150)  capable  of handling technical and educational projects within India & overseas.

AREA OF SPECIALIZATIONS:-

Ø  Manufacturing Technology (CNC Technology, CAD/CAM (Unigraphics, Pro-E,  CATIA,  Solid Works & I-DEAS), AutoCAD.

Ø  Industrial Automation (PLC, Variable Frequency Drives, Field Instrumentation, MMI, Hydraulics, Pneumatics).

Ø  Mechatronics: Mechanical, Electrical, Electronics, Instrumentation, IT.

Ø  Car Mechatronics.

Ø  Behavioral Sciences and Management  (Leadership  Development,  Communication  Skills, Team Building etc.).

Ø  Information  Technology  (Application  &   Software   Development,   Hardware   & Networking Training, Web Designing etc.).

Ø  Vocational  Education  &  Training (Design & development of curriculum & study materials,  Train  The  Trainers,  Instructors  Training,  Trade  identification  survey,  impact study etc).

Ø  Fashion, Interior & Graphic Designing

Ø  Multimedia (3D Animation, Non-Linear video editing, show reel development.


Introduction to Java

 


 

With the invention of microprocessors, the world is scientifically developed with sophisticated equipments, systems, and devices. Microprocessors are used in computers, televisions, and fax  machines.  Even  the  hand-held  devices  such  as  pagers,  PDAs  (Personal  Digital  Assistant),   and cell phones  make  use  of  microprocessors.  All  these  electronic  devices  are  helpful  because  of their  communication  capabilities.  With  the  increasing  capabilities  and  decreasing  cost   of information  processing  and  networking  technologies,  the  network  is  growing  rapidly  for transmitting information through electronic systems.

 

Internet is the network of networks  between  different  types  of  computers  located  at different  places  to  transmit  information. Information can reach to any place in the world quickly at a cheaper rate through the Internet. Thus, the Internet has made the world a global village for information  exchange.  The  emerging  infrastructure  of  electronic  devices  and  interconnected computer networks  create  an  environment  that presents  new  challenges  to  software   industries. for this emerging computing environment, Java  process  to  be  a  well    suited  programming language. it  is  found  suitable  for  networked  environments  involving  a  great  variety  of  computer  and devices.

 

Java has many characteristics that have contributed to its popularity:

 

Ø  Platform independence - Many  languages  are  compatible  with  only  one  platform.  Java was specifically designed so that it  would  run  on  any  computer, regardless  if  it  was running Windows, Linux, Mac, Unix or any of the other operating systems.

Ø  Simple and easy to use - Java's creators tried to design it so code could  be  written  efficiently and easily.

Ø  Multi-functional - Java can produce many applications from command-line programs to applets to Swing windows (basically, sophisticated graphical user interfaces).

 

Java does have some drawbacks. Since it  has  automated  garbage  collection,  it  can  tend  to  use  more memory  than other  similar  languages.  There  are  often  implementation   differences   on different platforms, which have led to Java being described as  a  "write  once,  test  everywhere"  system. Lastly, since it uses an abstract "virtual machine",  a  generic  Java  program  doesn't  have access to the Native API's on a  system directly.  None  of these  issues  are  fatal,  but  it  can mean  that Java isn't an appropriate choice for a particular piece of software.


The Java Platform

One thing that distinguished Java from some other languages is its ability to  run the same compiled  code  across  multiple  operating  systems.In  other  languages,  the  source  code  (code  that is written by the programmer), is compiled by a compiler  into an executable file.  This  file  is  in machine language, and is intended for a single operating system/processor combination, so the programmer would have to re-compile the program seperately for each new  operating system/processor combination.Java is different in that it does not compile the  code  directly  into machine language code. Compilation creates bytecode  out of the source code. Bytecode generally looks something like this:

 

a7 f4 73 5a 1b 92 7d

 

When the code is run by the user, it is processed by something called  the  Java  Virtual  Machine (JVM). The JVM is essentially an interpreter for  the  bytecode.  It  goes  through  the  bytecode  and runs it. There are different versions of the JVM that are  compatible  with  each OS and  can run the same code. There is virtually no difference for the end-user, but this makes it a lot easier  for programmers doing software development.

 

 

 

Java and Open Source:-

Ø  In 2006 Sun started to make Java  available  under the  GNU  General  Public  License (GPL). Oracle continues this project called OpenJDK.

 

Java Virtual machine :-

Ø  The  Java  virtual  machine  (JVM)  is  a  software  implementation  of  a  computer   that executes programs like a real machine.

Ø  The Java virtual machine  is  written  specifically  for  a  specific  operating  system,  e.g.  for Linux a special implementation is required as well as for Windows.

Ø  Java programs are compiled by the Java compiler into bytecode. The Java virtual machine interprets this bytecode and executes the Java program.

 

Java Runtime Environment vs. Java Development Kit

Ø  A Java distribution comes typically in two  flavors,  the  Java Runtime Environment  (JRE)  and the Java Development Kit (JDK).

Ø  The Java runtime environment (JRE) consists of the JVM and the Java class libraries and contains the necessary functionality to start Java programs.

Ø  The JDK contains in  addition  the  development  tools  necessary  to  create  Java  programs. The JDK consists therefore of  a  Java  compiler,  the  Java  virtual  machine,  and  the  Java  class libraries.


Installation of Java

v Check installation

 

Ø  Java might already  be  installed  on  your  machine.  You  can test  this  by opening  a  console (if you are using Windows: Win+R, enter cmd and press Enter)  and  by  typing  in  the following command:

Ø  java -version

Ø  If Java  is  correctly  installed,  you  should  see  some  information  about   your  Java  installation. If the command  line  returns  the  information  that  the  program  could  not  be found, you have to install Java.

 

Installing the Java Development Kit

Ø  Before installing the  Java  Development  Kit  (JDK),  you  should  probably  know  what  it  is. It is distributed by Oracle. It contains the core libraries  and  compiler  required  to  develop Java. The JDK  should  not  be  confused  with  the  JRE  (Java  Runtime  Environment).  The JRE is a JVM for running, as opposed to compiling, Java programs.

 

Downloading and Installing

Ø  To                     download                    the                            JDK,                     go                            to http://www.oracle.com/technetwork/java/javase/downloads/index.html.     Click   on   "JDK with  NetBeans  Bundle". Follow  the   instructions   for   downloading   the   JDK   installation file.

Windows: If you are running Windows, simply run the executable file and follow the installation                                                                                                                                                                        instructions.

Unix, Solaris, or Linux: For Linux and Unix, download the "jdk1  6.0"  for  Linux systems. Save the  downloaded  file  in  any  drive.  Once  you have  saved  the  file,  extract it  to a place that you can  remember, by  using  Terminal  or  by  double  clicking  on  the  file.  When you have finished extracting the file, copy the JDK 1.6.0 folder and paste it in the usr/local(To paste to the usr/local  directory,  you have  to  be in root) so that  every user  can use the java files. You  can delete  the  downloaded  zip  file  so  that  it  doesn't take up  space on                                                                    your       drive. Macintosh:  The  latest available  JDK  is  automatically  installed   by   the   operating system. Because  Java  for  Macintosh  is  developed  and  maintained  by  Apple,  in coordination with Sun, the current  version  on  the  Macintosh  may  not  be  the  current  version that is available

 

Note on Editions

Ø  The JDK comes in three editions.


Ø  Java Standard Edition (JSE) This version is the basic  platform for  Java.  The  course will focus on this edition.

Ø  Java Enterprise Edition  (JEE)    This  edition  is  mainly  for  developing  and  running  distributed multitier architecture Java  applications, based largely on modular software components running on an application server. We will not be covering this version  in  the course.

Ø  Java Micro Edition (JME) This edition is primarily for developing programs to run on consumer applicances, such as PDAs and cell phones.

 

 

Configuring Variables

Ø  Before writing code, it is  recommended  that  you  set  the  Path variable  on your  system so you can compile your code more easily.

 

v For Windows Users

 

Ø  From the Control Panel, double click "System" (System and Maintenance in Vista)

Ø  For Windows 7 or Vista, click on "System,"  "Advanced  System Settings"  on the  left,  and then on "Environment Variables."

Ø  For XP and 2000, click on the "Advanced" tab  and  click  on "Environment  Variables" For NT, click on the "Environment" tab.

Ø  Select the Path variable and click "Edit"

Ø  Add the path to the bin directory of where Java is installed on your hard drive. It should probably be: C:\Program Files\Java\jdk1.6.0_20\bin  unless  you  changed  it  during installation.

Ø  Click OK

 

v For Linux and UNIX

Ø  One way to set your path in Linux/Unix is to add a path export to your bash profile.

Ø  In order to do this, first open your bash profile in a text editor. For example,

Ø  pico ~/.bash_profile

Ø  Then add this line:

Ø  export PATH=$PATH:/usr/local/jdk/bin

Ø  Note that the path to the java directory "/usr/local/jdk/bin" may be different on your machine.

Ø  Restart your shell.


 

 

 

v For Macintosh

Ø  Apple sets everything up for you. Sit back and relax.

Ø  The only drawback is  that  because  Apple  handles  development  and  maintenance  of  Java on the Mac, there is usually a  delay  from the  time  that  a  new  version  is  released  by Sun and the time that the new version is released on the Mac. Also, getting the latest version sometimes requires an operating system upgrade.

Ø  Oh well, you can't have everything.

 

Validate installation

Ø  Switch again to the command line and run the following command.

Ø  java -version

Ø  The output should be similar to the following output.

Ø  java version "1.7.0_25"

Ø  OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)

Ø  OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

 

 

Development Process with Java

Ø  Java  source  files  are  written  as  plain  text  documents.  The  programmer  typically  writes Java source code in an Integrated Development Environment (IDE) for programming. An IDE supports the programmer  in  the  task  of  writing  code,  e.g.  it  provides  auto-formating of the source code, highlighting of the important keywords, etc.

Ø  At some point the programmer (or the IDE) calls the Java  compiler  (javac).  The  Java  compiler creates  the  bytecode  instructions.  These  instructions  are  stored  in  .class files and can be executed by the Java Virtual Machine.

 

 

 

Garbage collector

Ø  The JVM automatically re-collects the memory which is  not  referred  to  by  other  objects. The java garbage collector checks all object references and find the objects which can be automatically released.

Ø  While the garbage collector releases the programmer from the need to explicitly  manage  memory the programmer still need to ensure that he does not  keep  unneeded  object  references  otherwise  the  garbage  collector  cannot  release  the   associated   memory. Keeping unneeded object references are typically called memory leaks.


Classpath

Ø  The classpath defines where the Java compiler and Java  runtime  look  for  .class files  to load. This instructions can be used in the Java program.

Ø  For example if you want to use an  external  Java  library  you  have  to  add  this  library  to your classpath to use it in your program.

 

Write, compile and run a Java program

v Write source code

Ø  The following Java  program  is  developed  under  Linux  using  a  text editor  and  the command line. The process on other operating system should be  similar  and  but  is  not covered in this description.

Ø  Select or create a new directory which will be used for your Java development. In this description the path \home\vogella\javastarter is used. On Microsoft Windows your might want to use c:\temp\javastarter. This path is called javadir in the following description. Open a text editor which supports plain text, e.g. gedit under Linux or Notepad under Windows and write the following source code.

 

 

 Save the source code in  your  javadir  directory  with the  HelloWorld.java filename.  The  name of a  Java  source  file  must  always  equals  the  class  name  (within  the  source  code) and end

with   the   .java  extension.    In   this    example    the   filename    must    be HelloWorld.java

because the class is called HelloWorld.

 

v Compile and run your Java program


Ø  Open a shell for command line access. Switch to the javadir directory with the command cd javadir, for example in the above example via the cd

\home\vogella\javastarter command. Use the ls command (dir under Microsoft Windows) to verify that the  source  file  is  in  the  directory.  Compile  your  Java  source  file into a class file with the following command.

 

javac HelloWorld.java

Afterwards list again the content of the directory with  the  ls or  dir command.  The directory  contains  now  a  file  "HelloWorld.class".  If  you  see  this  file   you   have successfully compiled your first Java source code into bytecode.

 

You can now start your compiled Java program. Ensure that you are still in the jardir

directory and enter the following command to start your Java program.

 

java HelloWorld

The system should write "Hello World" on the command line.

 

 

 

Using the classpath

Ø  You can use the classpath to run the program from another place in your directory.

Ø  Switch to the command line, e.g. under Windows Start-> Run -> cmd.  Switch  to  any  directory you want. Type:

 

java HelloWorld

Ø  If you are not  in  the  directory  in  which  the  compiled  class  is  stored  then  the  system should result an error message Exception in thread "main" java.lang.NoClassDefFoundError: test/TestClass

Ø  To use the class type the following command.  Replace  "mydirectory"  with  the  directory  which contains the test directory. You should again see the "HelloWorld" output.


java -classpath "mydirectory" HelloWorld

Java basic terms

v Basics: Package, Class and Object

It is important to understand the base terminology of Java in terms of packages, classes and

objects. This section gives an overview of these terms.

 

v Package

Java groups classes into functional packages.

 

Packages are typically used to group classes into logical units. For example all  graphical views of an application might be placed in the same package called com.vogella.webapplication.views.

 

It is common practice to use the reverse domain name of the  company  as top level  package. For example the company might own the domain, vogella.com and in this example the Java packages of this company starts with com.vogella.

 

Other main reason for the usage of packages is to avoid name collisions of classes. A name collision occurs if two programmers give the same fully qualified name to a class. The fully qualified name of a class in Java consists out of the package name  followed  by a dot (.) and the class name.

 

Without packages, a programmer may create a Java  class  called  Test. Another  programmer may create a class with the same name. With the usage of packages you  can tell  the  system which class to call. For example if the first programmer puts  the  Test class  into  package report and the second programmer puts his class  into  package  xmlreader you  can distinguish between these classes by using the fully qualified name, e.g. xmlreader.Test or report.Test.

 

 

 

 

v Class

Def.: Template that describes the data and behavior associated with an instance of that class.

 

In Java source code a class is defined by the class keyword and must start with a capital letter. The body of a class is surrounded by {}.


package test;

 

class MyClass {

 

}

 

The data associated with a class is  stored in  variables ; the  behavior  associated  to a class or object is implemented with methods.

 

A class is contained in a Java source file with the same name as the class plus the .java extension.

 

v Object

Def.: An object is an instance of a class.

 

The object is the real element which has data and can perform actions. Each object is created based on the class definition.


v Inheritance

A class can be derived from another class. In this case this class is called a subclass. Another common phrase is that a class extends another class.

 

The class from which the subclass is derived is called a superclass.

 

Inheritance allows a class to inherit the behavior and data definitions of another class.

 

The following codes demonstrates how a class can extend another class. In Java a class can extend a maximum of one class.

 

package com.vogella.javaintro.base;

 

class MyBaseClass {

void hello(){

System.out.println("Hello from MyBaseClass");

}

}

package com.vogella.javaintro.base;

 

class MyExtensionClass extends MyBaseClass {

}

 

v  Override methods and the @override annotation

If a class extends another class  it  inherits  the  methods  from  its  superclass.  If it  wants  to change these methods it can override these methods. To override a method you use the same method signature in the source code of the subclass.

 

To indicate to the reader of the source  code and the  Java compiler  that  you have  the intention  to override a method you can use the @override annotation.

 

The following code demonstrates how you can override a method from a superclass.

 

package com.vogella.javaintro.base;

 

class MyBaseClass {

void hello(){ System.out.println("Hello from MyBaseClass");

}

}

package com.vogella.javaintro.base;

 

class MyExtensionClass2 extends MyBaseClass {

}

 

Object has superclass


Every object in Java implicitly extends the Object class. The class defines the following methods for every Java object:

 

Ø  equals(o1) allows to check if the current object is equal to o1

 

Ø  getClass() returns the class of the object

Ø  hashCode() returns an identifier of the current object

Ø  toString() Give a string representation of the current object

 

Variables and methods

v Variable

Variables allow the Java program to store values during the runtime of the program.

 

A variable can either be a primitive variable or a reference variable. A primitive variable contains value while the reference variable contains a reference (pointer) to the object.

Hence if you compare two reference variables,  you compare  if  both point  to the same  object. To compare objects use the object1.equals(object2) method call.

 

v Instance variable

Instance variable is associated with an instance of the class (also called object). Access works over these objects.

 

Instance variables can have any access control and can be marked final or transient. Instance variables marked as final can not be changed after assigned to a value.

 

v Local variable

 

Local (stack) variable declarations cannot have access modifiers.

 

final is the only modifier available  to local  variables.  This  modifier  defines  that the  variable  can not be changed after first assignment.

 

Local variables do not get default values, so they must be initialized before use.

 

 

 

 

v Methods

A method is a block of code with parameters and a return value. It can be called on the object.

package com.vogella.javaintro.base; public class MyMethodExample {

void tester(String s) { System.out.println("Hello World");

}

}

 

Method can be declared with  var-args.  In  this case the  method  declares  a  parameter which accepts from zero to many arguments  (syntax:  type  ..  name;)  A  method  can  only have one var-args parameter and this must be the last parameter in the method.

 

Overwrite of a superclass method: A method must be of the  exact  same  return  parameter  and the same arguments. Also the return  parameter  must  be  the  same.  Overload  methods: An overloaded method  is  a  method  with  the  same  name,  but  different  arguments.  The return type can not be used to overload a method.

 

v Main method

A public static method with the following signature can be used to start a Java application. Such a method is typically called main method.

 

public static void main(String[] args){

 

}

 

v Constructor

A class contains constructors that are invoked to  create objects based on the class definition. Constructor declarations look like method declarations except that they use the name of the class and have no return type. A class can  have  several  constructors  with different parameters. Each class must define at least one constructor.

 

In the following example the constructor of the class expects a parameter.

 

package com.vogella.javaintro.base; public class MyConstructorExample2 {

String s;

 

public MyConstructorExample2(String s) { this.s = s;

}

}


If no explicit  constructor  is defined  the  compiler  adds implicitly  a constructor.  If the  class is sub-classed then the  constructor  of the  super class  is  always  implicitly  called  in  this case.

 

In the following example the definition of the constructor without parameters  (also known as the empty constructor) is unnecessary. If not specified the compiler would create one.

 

package com.vogella.javaintro.base; public class MyConstructorExample {

// Unnecessary, would be created by the compiler if left out

public MyConstructorExample() {

}

}

 

The naming conversion for creating a constructor is the following: classname (Parameter p1, ..) {} .

 

Every object is created based on a constructor. This constructor method is the first statement called before anything else can be done with the object.

 

Modifiers

v Access modifiers

There are three access modifiers keywords available in Java. public,  protected  and  private. There are four access levels: public, protected, default and private. They define how the corresponding element is visible to other components.  If  something  is  declared  public,  e.g. classes or methods can be freely created or called by other  Java  objects.  If  something  is declared private, e.g. a method, it can only be accessed within the  class  in  which  it  is declared. protected and default are similar. A protected class can be accessed  from  the  package and sub-classes outside the  package  while  a  default  class  can get only accessed via  the same package. The following table describes the visibility:

 

 

 

 

Table 1. Access Level

 

Modifier

Class

Package

Subclass

World

Public

Y

Y

Y

Y

protected

Y

Y

Y

N


Modifier

Class

Package

Subclass

World

no modifier

Y

Y

N

N

Private

Y

N

N

N

 

 

Other modifiers

Ø  final methods: cannot be overwritten in a subclass

Ø  abstract method: no method body

Ø  synchronized method: threat safe, can be final and have any access control

Ø  native methods: platform dependent code, apply only to methods

Ø  strictfp: class or method

 

Import statements

v Usage of import statements

In Java you have to access a class always via its full-qualified name,  e.g. the  package name and the class name. You can add import statements for classes or packages into your class file, which allow you to use the related classes  in  your  code without  the package qualifier.

 

v Static imports

Static import is a feature that allows  members  (fields  and methods)  which  are defined  in  a class with the public static access modifier to  be used  in  Java  code without  specifying the class in which the member is defined. The  feature  provides  a typesafe  mechanism  to include constants into code without having to reference the class that originally defined  the field.

 

 

 

 

 

 

 

 

 

 

More Java language constructs


v Interface

Interfaces are contracts for what a class can do but they  say  nothing  about  the  way  in which the class must do it. An interface is  a  type  similar  to  a  class.  Like  a  class  an interface defines methods. An interface can have only abstract methods, no concrete methods are allowed. Methods defined in interfaces are by default public  and  abstract  explicit declaration of these modifiers is optional. Interfaces can have constants which  are always  implicitly  public,  static  and  final.  A  class  can  implement an interface. In this case it must provide concrete implementations of  the  interface  methods.  If  you  override  a method defined  by  an  interface  you  can  also  use  the  @override annotation.  The  following code shows an example implementation  of  an  interface  and  its  usage  within  a class.

package com.vogella.javaintro.base; public interface MyDefinition {

// constant definition

String URL="http://www.vogella.com";

 

// define several method stubs

void test();

void write(String s);

}

package com.vogella.javaintro.base;

 

public class MyClassImplementation implements MyDefinition {

 

@Override

public void test() {

// TODO Auto-generated method stub

 

}

 

@Override

public void write(String s) {

// TODO Auto-generated method stub

 

}

 

}

Class methods and class variables

Class methods and class variables are associated with the class  and  not an instance  of the class, i.e. objects. To refer to these element you can use the classname and  a  dot  (".")  followed by the class  method  or  class  variable  name.  Class  methods  and  class  variables are declared with the static keyword. Class methods are also  called  static methods and class variables are also called static variables or static fields.

 

An   example   for   the   usage   of   a   static   field    is    println  of   the   following statement:

System.out.println("Hello   World").   out  is    a   static    field,    an   object   of type


PrintStream, and you call the println() method on this object. If you define a  static variable the Java runtime environment associates  one  class  variable  for  a  class  no  matter how many instances (objects) exists. The static variable can therefore be seen as a global variable. The following code demonstrates the usage of static fields.

 

package com.vogella.javaintro.base; public class MyStaticExample {

static String PLACEHOLDER = "TEST";

 

static void test() { System.out.println("Hello");

}

}

package com.vogella.javaintro.base; public class Tester {

public static void main(String[] args) {

System.out.println(MyStaticExample.PLACEHOLDER); MyStaticExample.test();

}

 

}

 

If a variable should be defined as constant, you declare it with the static and the final keyword. The static method  runs  without  any  instance  of  the  class,  it  cannot  directly access non-static variables or methods.

 

v Abstract class and methods

A class and method can be declared as abstract. An abstract class can not be directly instantiated. If a class has at least one method which only contain the  declaration  of  the method but not  the  implementation  then  this  class  is  abstract  and  can  not  be instantiated. Sub-classes need then  to  define  the  methods  except  if  they  are  also  declared as abstract. If a class contains an abstract method it also needs to get defined  with  the  keyword abstract. The following example shows an abstract class.

 

package com.vogella.javaintro.base;

 

public abstract class MyAbstractClass { abstract double returnDouble();

}

 

 

 

 

 

Working With Classes

Table 2

 

What to do

How to do it

 

Create a new class called MyNewClass.

package test;

 

public class MyNewClass {

 

}

Create a new attribute  (instance  variable) called var1 of type String in the MyNewClass class

package test;

 

public class MyNewClass { private String var1;

}

 

 

 

Create a Constructor for your MyNewClass class which has a String parameter and assigns the value of it to the var1 instance variable.

package test;

 

public class MyNewClass { private String var1;

 

public MyNewClass(String para1) {

var1 = para1;

// or this.var1= para1;

}

}

 

 

 

 

 

Create a new method called doSomeThing in your class which does not return a value and has no parameters

package test;

 

public class MyNewClass { private String var1;

 

public MyNewClass(String para1) {

var1 = para1;

// or this.var1= para1;

}

 

public void doSomeThing()

{

 

}

 

}

 

 

 

Create a new method called doSomeThing2 in your class which does not return  a value  and has two parameters, a int and a Person

package test;

 

public class MyNewClass { private String var1;

 

public MyNewClass(String para1) {

var1 = para1;

// or this.var1= para1;

}

 

public void doSomeThing()


What to do

How to do it

 

{

 

}

 

public void doSomeThing2(int a, Person person) {

 

}

 

}

 

 

 

 

 

 

 

 

 

 

Create a new method called doSomeThing2 in your class which returns an int value and has three parameters, two Strings and a Person

package test;

 

public class MyNewClass { private String var1;

 

public MyNewClass(String para1) {

var1 = para1;

// or this.var1= para1;

}

 

public void doSomeThing()

{

 

}

 

public void doSomeThing2(int a, Person person) {

 

}

 

public int doSomeThing3(String a, String b, Person person) {

return 5; // Any value will do for this example

}

 

}

 

 

 

Create a class called MyOtherClass with two instance variables. One will store a String, the other will store a Dog. Create getter and setter for these variables.

package test;

 

public class MyOtherClass { String myvalue;

Dog dog;

 

public String getMyvalue() {

return myvalue;

}

 

public void setMyvalue(String myvalue)


What to do

How to do it

 

{

this.myvalue = myvalue;

}

 

public Dog getDog() { return dog;

}

 

public void setDog(Dog dog) {

this.dog = dog;

}

}

 

 

 

Working With Local Variable

Table 3:

 

What to do

How to do it

Declare a (local) variable of type string.

String variable1;

Declare a (local) variable of type string and assign "Test" to it.

String variable2 = "Test";

Declare a (local) variable of type Person

Person person;

Declare a (local) variable of type Person, create a new Object and assign the variable to this object.

Person person = new Person();

Declare a array of type String

String array[];

Declare a array of type Person and create an array for this variable which can hold 5 Persons.

Person array[]= new Person[5];

Assign 5 to the int variable var1 (which was already declared);

var1 = 5;

Assign the existing variable pers2 to the exiting variable pers1;

pers1 = pers2;

Declare a ArrayList variable which can hold objects of type Person

ArrayList<Person> persons;

Create a new ArrayList with objects of type Person and assign it to the existing variable persons

persons = new ArrayList<Person>();

Declare  a ArrayList  variable  which  can hold objects of type Person and create a new Object for

ArrayList<Person> persons = new ArrayList<Person>();


What to do

How to do it

it.

 

Integrated Development Environment

 

 

The previous chapter explained how to  create  and  compile  a  Java  program  on  the command  line.  A  Java  Integrated  Development  Environment  (IDE)  provides  lots  of  ease of use functionality for creating java programs. There are other very powerful IDE's available, for example the Eclipse IDE. .  For  an  introduction  on  how  to  use  the  Eclipse  IDE please see Eclipse IDE Tutorial. The remaining  description  uses  the  phrase: Create a Java project called... ". This refers to creating a Java project in Eclipse. If you are using a different IDE please  follow  the  required  steps  in  this IDE. Exercises - Creating Java objects and methods Create a Person class and instantiate it Create a new Java project called com.vogella.javastarter.exercises1 and  a  package  with  the  same  name.  Create  a class called Person. Add three instance variables to it, one for storing the first name of the person, on for storing the last name and one for storing the age of the Person. Use the constructor of the Person object to set the values to some default  value.  Write  a  public method called writeName()  which  uses  the  System.out.println(  method  to  print  the  first  name of the person to the  console.  Create  a  new  class  called  Main  with  a  public  static void main(String[] args). In this method create an instance of the Person class.

 

v  Use constructor

Add a constructor to  your  Person class  which  takes  the  first  name,  last name  and the  age as parameter. Assign  the  values  to  your  instance  variables.  Create  in  your  main  method two objects of type Person and call the writeName method on it.

 

 

 

v Define  getter and setter methods

Define methods which allow you to read the values of the instance  variables  and  to  set them. These methods are called setter and getter.  Getters  should  start  with  get  followed  by  the variable name whereby the first letter of the variable is capitized. Setter should start with set followed by the variable name whereby the first  letter  of  the  variable  is  capitized.  `  For  example the variable called firstName would have the getFirstName() getter method and the setFirstName(String s) setter method. Change your main method so that you create one person object and use the setter method to change the last name.

 

v  Create an Address object

Create a new object called Address. The Address should allow you to store the address of a person. Add a new instance variable of  this  type  in  the  Person  object.  Also  create  a  getter and setter for the Address object in the Person object.

 

Solution - Creating Java objects and methods Create a Person class and instantiate it

The following is a potential solution  for Section 11.1, “Create a Person class and instantiate it”.

 

package exercises.exercise04;

 

 

 

class  Person {

 

String firstname = "Jim"; String lastname = "Knopf";

int age = 12;

 

voi      d writeName() {

 

// Writes the firstname System.out.println(firstname);

 

 

 

// Alternatively you can combine strings with + System.out.println(firstname + " " + lastname + "" + age);

}

 

}

 

package exercises.exercise04;


public class Main {

 

public static void main(String[] args) { Person person = new Person();

}

 

person.writeName();

 

}

 

Use constructor

package com.vogella.javastarter.exercises1;

 

 

 

 

class Person { String firstName; String lastName; int age;

 

 

public Person(String a, String b, int value) { firstName = a;

lastName = b; age=value;

}

 

 

 

void writeName() {

 

// Writes the firstname


System.out.println(firstName);

 

 

 

 

// Alternatively you can combine strings with + System.out.println(firstName + " " + lastName + "" + age);

}

 

 

 

}

 

package com.vogella.javastarter.exercises1;

 

 

 

public class Main {

 

void main(String[] args) {

 

Person person = new Person("Jim", "Knopf" , 12); person.writeName();

 

 

// Reuse the same variable and assign new object to it person = new Person("Henry", "Ford", 104); person.writeName();

}

 

}

 

 

 

Define getter and setter methods

package com.vogella.javastarter.exercises1;


 

class Person { String firstName; String lastName; int age;

 

 

public Person(String a, String b, int value) { firstName = a;

lastName = b; age = value;

}

 

 

 

public String getFirstName() { return firstName;

}

 

 

 

public void setFirstName(String firstName) { this.firstName = firstName;

}

 

 

 

public String getLastName() { return lastName;

}


 

public void setLastName(String lastName) { this.lastName = lastName;

}

 

 

 

public int getAge() { return age;

}

 

 

 

public void setAge(int age) { this.age = age;

}

 

 

 

void writeName() {

 

// Writes the firstname System.out.println(firstName);

 

 

// Alternatively you can combine strings with + System.out.println(firstName + " " + lastName + "" + age);

}

 

 

 

}

 

package com.vogella.javastarter.exercises1;


 

public class Main {

 

public static void main(String[] args) {

 

Person person = new Person("Jim", "Knopf", 21); Person person2 = new Person("Jill", "Sanders", 20);

// Jill get married to Jim person2.setLastName("K nopf"); person2.writeName();

}

 

}

 

Create an Address object

package com.vogella.javastarter.exercises1;

 

 

 

public class Address {

 

 

 

private String  street; private String number; private String postalCode; private String city;

private string country;

 

 

 

public String getStreet() { return street;


}

 

 

 

public void setStreet(String street) { this.street = street;

}

 

 

 

public String getNumber() { return number;

}

 

 

 

public void setNumber(String number) { this.number = number;

}

 

 

 

public String getPostalCode() { return postalCode;

}

 

 

 

PostalCode(String postalCode) { this.postalCode = postalCode;

}

 

 

 

public String getCity() {


return city;

 

}

 

 

 

public void setCity(String city) { this.city = city;

}

 

 

 

public String getCountry() { return country;

}

 

 

 

public void setCountry(String country) { this.country = country;

}

 

 

 

public String toString() {

 

return street + " " + number + " " + postalCode + " " + city + " "

 

+ country;

 

}

 

 

 

}

 

package com.vogella.javastarter.exercises1;


 

class Person { String firstName; String lastName; int age;

private Address address;

 

 

 

public Person(String a, String b, int value) { firstName = a;

lastName = b;

 

age=value;

 

}

 

 

 

public String getFirstName() { return firstName;

}

 

 

 

public void setFirstName(String firstName) { this.firstName = firstName;

}

 

 

                                                                                                                                              

public String getLastName() { return lastName;


}

 

 

 

public void setLastName(String lastName) { this.lastName = lastName;

}

 

 

 

public int getAge() { return age;

}

 

 

 

public void setAge(int age) { this.age = age;

}

 

 

 

 

public Address getAddress() { return address;

}

 

 

 

public void setAddress(Address address) { this.address = address;

}


void writeName() {

 

// Writes the firstname System.out.println(firstName);

 

 

 

// Alternatively you can combine strings with + System.out.println(firstName + " " + lastName + "" + age);

}

 

 

 

}

 

package com.vogella.javastarter.exercises1;

 

 

 

public class Main {

 

public static void main(String[] args) {

 

// I create a person

 

Person pers = new Person("Jim", "Knopf", 31);

 

// I set the age of the person to 32

 

 

 

 

// Just for testing I write this to the console System.out.println(pers.toString());

/*

 

* Actually System.out.println calls always toString, if you do not


* specify it so you could also have written System.out.println(pers);

 

*/

 

// I create an address

 

Address address = new Address();

 

// I set the values for the address address.setCity("Heidelberg"); address.setCountry("Germany"); address.setNumber("104"); address.setPostalCode("69214");

address.setStreet("Musterstr."); address = null;

// person is moving to the next house in the same street pers.getAddress().setNumber("105");

 

 

}

 

 

 

}


 

 

 

 

 

 

 

 

 

 

 

HISTORYOF JAVA


It is quite interesting  to  know  the  development  of  Java  technology,  which  is  widely  accepted  in  the area of networked/distributed  computing.  Java  evolved  from  a  project  developing  a  language for programming consumer electronic devices at Sun Microsystems, USA.

 

Sun’s Stealth Project in 1990 was aimed to do research in the area of application  of  computers in the consumer electronics market. Bill Joy, James Gosling, Mike Sheridan,  Patrick Naughton (formerly the project leader of  Sun’s  Open  Windows  user  environment),  and  several other individuals discussed the ideas for the Stealth  Project  in  January  1991.The  vision  of  this project was to develop smart consumer electronic devices that could all be centrally controlled and  programmed  from  a  handheld-remote-control-like  device.  The  Stealth  group  began  to  work to achieve this goal. It was realized that a platform-independent development-environment was needed.

 

Green Project was initiated by Patrick Naughton, Mike Sheridan, and  James  Gosling  of Sun Microsystems in 1991 (Members of the Stealth Project, which later  became  known  as  the  Green Project) The tasks of the project  were  divided  amongst  the  members  of  Green  Project. Mike Sheridan concentrated on business development, Patrick Naughton worked on the graphics system, and James Gosling was to identify the appropriate programming language for  the  Green  Project. Even though creating a new language  was  not  the  aim of Green Project, a new language was created as a programming tool in this project since C++ was found unsuitable for the project.

 

An intelligent remote control called *7 (Star Seven) was delivered as  the  first  product  of Green Project in 1992. It is a PDA- like device comprising of a new  language  oak, an operating system called GreenOS, user interface, and hardware. This device was quite impressive to Sun Executives. But no customer was interested in this project.  The  market  was  not  conducive  to  this type of device in the consumer electronics industry.

 

The new language Oak was created by James Gosling, a Green  Team  member, specifically for *7. Gosling named the new language Oak because that name was struck while looking at an oak three  outside  of his  office  window.  The  name  Oak  was  later renamed to Java in order to avoid legal issues since Oak was the name of an existing language.


In November 1992, the Green Project was incorporated under  the  name  FirstPerson.  In 1993. Time-Warner was demanding for proposals for set-top box operating systems and video- on-demand technology with an objective of sending the data to consumer all over the country  for display on the television sets. At the same time (1993(, NCSA released the  first  graphical  web browser Mosaic 1.0, an easy-to-use front end to the World Wide Web.

 

When FirstPerson was bidding on the Time-Warner TV trial based on video-on-demand technology, Time-Warner chose Silicon Graphics, Inc.  (SGI)  over  Sun.  Hence,  half  of  the members of FirstPerson left for SGI and the remaining members continued to work at Sun.

 

Mosaic web  browser revolutionized people’s  perceptions. The remaining member of FirstPerson returned to work on Java (Oak was renamed Java) to  develop  Java-based  web browser. FirstPerson was dissolved gradually. Naughton and  Jonathan  Payne  developed WebRunner  (named  after  the  movie Blade Runner).  Later  WevRunner  was  officially  announced as the HotJavaTM browser in 1994. This was the turning  point  for  Java.  At  that  time  the  World Wide Web changed the face of Internet and it was winning the race on Internet.

 

Arthur  Ban  Hoff  implemented  the  Java  compiler  in  Java  itself  whereas  Gosling implemented it in C. The Java compiler, written in Java made the people to accept Java as a full-  featured language.

Sun Microsystems official y announced Java environment at Sun  World’95  on  May  23, 1995. Java entered into the mainstream of the Internet  after  a  struggle  for  about  four  years. Netscape Communications incorporated Java into its web browser Netscape Navigator. Within a decade, Java was destined to be the most overreaching technology in the Internet. Java was not restricted to  the Internet alone. The initial  goal  of  Sun  was  also achieved  by  using  Java technology in  interactive  set-top  boxes,  hand-held devices and  other  consumer  electronics products.

Sun released the first version 1.0 of Java in 1996. Java is an object-oriented programming language which evolved from C++.  It  is  also a  high-level  programming  language.  The  different forms of Java versions are discussed in the next section.

 

 

 

History  of Java

Year

Java -  Versions and Features

1990

Sun Microsystems started Stealth project supporting application of computers in the

consumer electronics market.

1991

The Green project started with the members of Stealth project such as James Gosling,

Patrick Naughton, and Mike Sheridan. A new programming language, called Oak was created by Gosling.

1992

An intelligent remote control called StarSeven was delivered. The Green Project was

incorporated was incorporated under the name FirstPerson.

1993

Mosaic Web browser was introduced in the world of Internet.

1994

HotJava Web browser was announced by Sun Microsystems.

1995

Oak was renamed as Java. Sun officially announced Java technology.

1996

Sun released the first version 1.0 of Java. Core Language features supporting: I/O


 

facility, Utilities, Network Programming, User Interface – AWT, Applets, and

Multithreading.

1997

Sun released JDK1.1 by including new features such as addition of inner classes to

the   language   and    capabilities     such    as  JavaBeans,   JDBC(Java      Data Base Connectivity), and RMI (Remote Method Invocation).

1998

Java   2   Platform,   Standard  Edition   (J2SE)1.2,  code   named  as   Playground,  was

released. It replaced JDK and distinguished the base platform from j2ee (Java 2 Platform, Enterprose Edition) and J2ME (Java 2Platform, Micro Edition). The key features include Swing graphical API, Java IDL (Interface Definition Language) to support CORBA interoperability. They also added Collections framework to support various   data  structures.  For  the  first  time,  JVM  was  equipped  with  a  JIT (Just-in-

Time) compiler.

2000

J2SE 1.3, code named as Kestrel, was released with key features such as JavaSound

API to support audio operations (e.g., audio playback and capture/recording, mixing, sequencing, and synthesis), Java Naming and Directory Interface (JNDI), and Java Platform Debugger Architecture (JPDA).

2002

H2SE  1.4, code named as Merlin, was released with key features such as (a) image

I/O API for manipulating images in formats like JPEG and PNG, (b) integrated XML parser  and  XSLT  processor  (JAXP), integrated security and cryptography extensions,

(c) Java Web Start supporting deployment of Java software applications over the network.

2004

J2SE 5.0, code named as Tiger, was released with enhancement of Java platform and

inclusion of a number of significant new  language  features  such  as  Generics, Enhanced for Loop, Autoboxing/Unboxing, Typesafe Enums,  Varags,  Static  Import, and Metadata supporting declarative style programming annotation of source code.

2006

Java SE 6.0, code named as Mustang, was released with enhancement of performance

in Swing, JDBC 4.0 support, Java Compiler API, Upgrade of JAXB to version 2.0, including integration of a StAX parser, support for  pluggable  annotations,  and  many GUI improvements.

2008

Java SE 7.0, code named as Dolphin, with native support for XML recognizing its

foundation for Web services.


FEATURES OF JAVA


 

According to Sun, Java is defined as a  simple,  object-oriented,  distributed,  interpreted,  robust, secure,  architecture  –neutral,  portable,  high  performance,  multithreaded,   and   dynamic programming language and platform.

 

Java is simple because the syntax of well-known languages such as C and C++ are used with modifications meant for simplification  and improvement.  It is  easy to read and write  Java  code if the reader is familiar with C/C++.

 

Almost everything in Java is centered on creating objects,  manipulating  the  objects  and  making objects work together. Only the primitive operations and data types  are  at  the  sub-object  level. Hence Java is an object-oriented programming language.

 

An application can be distributed in many systems which  are connected  together.  Since networking capability is incorporated in Java,  the data/file  can be sent  across many  systems  to run the application.

 

Java is robust  because  it  is  more  reliable.  It ensures  the  reliability  by providing  early  checking for possible errors. It eliminates error-prone constructs such as pointer. It eliminates error-prone constructs such as pointer. It also supports runtime error handling.

 

Java programs are compiled  to a byte  code format  that  can be read and  run  by interpreters on many platforms including Windows, Linux, etc. Hence, it is architecture neutral. Because of this feature it is portable to new hardware and operating systems.

 

Although the speed of execution  of Java  programs  is  slower  compared  to C/C++ programs,  Java is meant for distributed applications. Whenever the file/data is transmitted from one  system  to another, the performance is not affected. Hence, it is having high performance.

 

Java supports multithreaded programming to perform several tasks simultaneously.  Any  code can be loaded without recompilation at runtime. Hence it is dynamic.

Post a Comment

0 Comments