More about Java

Name Convention
class name should begin with uppercase letter and be a noun e.g.String,System,Thread etc.
Interface name should begin with uppercase letter and be an adjective (whereever possible). e.g. Runnable,ActionListener etc.
method name should begin with lowercase letter and be a verb. e.g. main(),print(),println(),actionPerformed() etc.
variable name should begin with lowercase letter e.g. firstName,orderNumber etc.
package name should be in lowercase letter. e.g. java,lang,sql,util etc.
constants name should be in uppercase letter. e.g. RED,YELLOW,MAX_PRIORITY etc.

Instance variable

A variable that is created inside the class but outside the method, is known as instance variable.Instance variable doesn’t get memory at compile time.It gets memory at runtime when object(instance) is created.That is why, it is known as instance variable.

Do u know why we declare static for main method? Whats use of it? what for static keyword used??

Will let you know clearly now..

class First

{

public static void main(string args[])

{

First obj = new First();

}

}

By looking at the code, we can understand that an object could be created only after calling the main() method.But for calling the main() method, first of all we require an object. Now, how is it possible to create an object before calling the main() method? So, we should call the main() method without creating an object. Such methods are called static methods and should be declared as static.

Static methods are methods, which can be called and executed without creating the objects.Since we want to call main() method without using an object, we should declare main() method as static.

Wrapper classes:

Introduction

Java is an object-oriented language and can view everything as an object. A simple file can be treated as an object (with java.io.File), an address of a system can be seen as an object (with java.util.URL), an image can be treated as an object (with java.awt.Image) and a simple data type can be converted into an object (with wrapper classes). This tutorial discusses wrapper classes. Wrapper classes are used to convert any data type into an object.

The primitive data types are not objects; they do not belong to any class; they are defined in the language itself. Sometimes, it is required to convert data types into objects in Java language. For example, upto JDK1.4, the data structures accept only objects to store. A data type is to be converted into an object and then added to a Stack or Vector etc. For this conversion, the designers introduced wrapper classes.

What are Wrapper classes?

As the name says, a wrapper class wraps (encloses) around a data type and gives it an object appearance. Wherever, the data type is required as an object, this object can be used. Wrapper classes include methods to unwrap the object and give back the data type. It can be compared with a chocolate. The manufacturer wraps the chocolate with some foil or paper to prevent from pollution. The user takes the chocolate, removes and throws the wrapper and eats it.

Observe the following conversion.

int k = 100;
Integer it1 = new Integer(k);

The int data type k is converted into an object, it1 using Integer class. The it1 object can be used in Java programming wherever k is required an object.

The following code can be used to unwrap (getting back int from Integer object) the object it1.

int m = it1.intValue();
System.out.println(m*m); // prints 10000

intValue() is a method of Integer class that returns an int data type.

List of Wrapper classes

In the above code, Integer class is known as a wrapper class (because it wraps around int data type to give it an impression of object). To wrap (or to convert) each primitive data type, there comes a wrapper class. Eight wrapper classes exist in java.lang package that represent 8 data types. Following list gives.

 

Primitive data type Wrapper class
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

Following is the hierarchy of the above classes.

ss52

All the 8 wrapper classes are placed in java.lang package so that they are implicitly imported and made available to the programmer. As you can observe in the above hierarchy, the super class of all numeric wrapper classes is Number and the super class for Character and Boolean is Object. All the wrapper classes are defined as final and thus designers prevented them from inheritance.

Importance of Wrapper classes

There are mainly two uses with wrapper classes.

  1. To convert simple data types into objects, that is, to give object form to a data type; here constructors are used.
  2. To convert strings into data types (known as parsing operations), here methods of type parseXXX() are used.

The following program expresses the style of converting data type into an object and at the same time retrieving the data type from the object.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public class WrappingUnwrapping
{
  public static void main(String args[])
  {				                  //  data types
    byte grade = 2;
    int marks = 50;
    float price = 8.6f;       		          // observe a suffix of <strong>f</strong> for float
    double rate = 50.5;
 		                                  // data types to objects		
    Byte g1 = new Byte(grade);                    // wrapping  
    Integer m1 = new Integer(marks);
    Float f1 = new Float(price);
    Double r1 = new Double(rate);
                                                                    // let us print the values from objects	
    System.out.println("Values of Wrapper objects (printing as objects)");
    System.out.println("Byte object g1:  " + g1);
    System.out.println("Integer object m1:  " + m1);
    System.out.println("Float object f1:  " + f1);
    System.out.println("Double object r1:  " + r1);
	        // objects to data types (retrieving data types from objects)
    byte bv = g1.byteValue();                 // unwrapping 
    int iv = m1.intValue();
    float fv = f1.floatValue();
    double dv = r1.doubleValue();
                                                                    // let us print the values from data types	
    System.out.println("Unwrapped values (printing as data types)");
    System.out.println("byte value, bv: " + bv);
    System.out.println("int value, iv: " + iv);
    System.out.println("float value, fv: " + fv);
    System.out.println("double value, dv: " + dv);
  }
}

ss16
As you can observe from the screenshot, constructors of wrapper classes are used to convert data types into objects and the methods of the form XXXValue() are used to retrieve back the data type from the object.

StringBuffer:

The StringBuffer and StringBuilder classes are used when there is a necessity to make a lot of modifications to Strings of characters.

Unlike Strings objects of type StringBuffer and Stringbuilder can be modified over and over again with out leaving behind a lot of new unused objects.

The StringBuilder class was introduced as of Java 5 and the main difference between the StringBuffer and StringBuilder is that StringBuilders methods are not thread safe(not Synchronised).

It is recommended to use StringBuilder whenever possible because it is faster than StringBuffer. However if thread safety is necessary the best option is StringBuffer objects.

Difference: String class objects are immutable and hence their contents cannot be modified. StringBuffer class objects are mutable, so they can be modified. The reason is that StringBuffer is mutable and can expand dynamically in memory. To store characters, we can use append() method or insert() method like

object.append(“Hello”); // add “Hello” to object

object.insert(0,”Hello”); // insert “Hello” starting from 0th position in object.

Example:

public class Test{

    public static void main(String args[]){
       StringBuffer sBuffer = new StringBuffer(" test");
       sBuffer.append(" String Buffer");
       System.ou.println(sBuffer);  
   }
}

This would produce the following result:

test String Buffer

StringBuffer Methods:

Here is the list of important methods supported by StringBuffer class:

SN Methods with Description
1 public StringBuffer append(String s)
Updates the value of the object that invoked the method. The method takes boolean, char, int, long, Strings etc.
2 public StringBuffer reverse()
The method reverses the value of the StringBuffer object that invoked the method.
3 public delete(int start, int end)
Deletes the string starting from start index until end index.
4 public insert(int offset, int i)
This method inserts an string s at the position mentioned by offset.
5 replace(int start, int end, String str)
This method replaces the characters in a substring of this StringBuffer with characters in the specified String.
Advertisements

Unfamiliar Facts In Java

Guys this post is not related to you. I hope you are well aware..but i came to know this by today. Hence for reference I am posting 🙂

Java history is interesting to know. Java team members (also known as Green Team), initiated a revolutionary task to develop a language for digital devices such as set-top boxes, televisions etc.

j1

1) James GoslingMike Sheridan, and Patrick Naughton initiated the Java language project in June 1991. The small team of sun engineers called Green Team.

2) Originally designed for small, embedded systems in electronic appliances like set-top boxes.

3) Firstly, it was called “Greentalk” by James Gosling and file extension was .gt.

4) After that, it was called Oak and was developed as a part of the Green project.

5) Why Oak? Oak is a symbol of strength and choosen as a national tree of many countries like U.S.A., France, Germany, Romania etc.

6) In 1995, Oak was renamed as “Java” because it was already a trademark by Oak Technologies.

7) Why they choosed java name for java language? The team gathered to choose a new name. The suggested words were “dynamic”, “revolutionary”, “Silk”, “jolt”, “DNA” etc. They wanted something that reflected the essence of the technology: revolutionary, dynamic, lively, cool, unique, and easy to spell and fun to say.

According to James Gosling “Java was one of the top choices along with Silk“. Since java was so unique, most of the team members preferred java.

8) Java is an island of Indonesia where first coffee was produced (called java coffee).

9) Notice that Java is just a name not an acronym.

10) Originally developed by James Gosling at Sun Microsystems (which is now a subsidiary of Oracle Corporation) and released in 1995.

Java is secured because:

  • No explicit pointer
  • Programs run inside virtual machine sandbox.

csecurity

  • javasecurity
  • Classloader- adds security by separating the package for the classes of the local file system from those that are imported from network sources.
  • Bytecode Verifier- checks the code fragments for illegal code that can violate access right to objects.
  • Security Manager- determines what resources a class can access such as reading and writing to the local disk.

1)Setting temporary Path of JDK in Windows:

For setting the temporary path of JDK, you need to follow these steps:
  • Open command prompt
  • copy the path of bin folder
  • write in command prompt: set path=copiedpath

For Example:

set path=C:\Program Files\Java\jdk1.6.0_23\bin

JVM

JVM (Java Virtual Machine) is an abstract machine.It is a specification that provides runtime environment in which java bytecode can be executed.
JVMs are available for many hardware and software platforms (i.e.JVM is plateform dependent).
The JVM performs four main tasks:

  • Loads code
  • Verifies code
  • Executes code
  • Provides runtime environment

JRE

JRE is an acronym for Java Runtime Environment.It is used to provide runtime environment.It is the implementation of JVM.It physically exists.It contains set of libraries + other files that JVM uses at runtime.
Implementation of JVMs are also actively released by other companies besides Sun Micro Systems.

jre2

JDK

JDK is an acronym for Java Development Kit.It physically exists.It contains JRE + development tools.

jdk2