Java-Class Notes Compiled by Abha(PPT3)

download Java-Class Notes Compiled by Abha(PPT3)

of 20

Transcript of Java-Class Notes Compiled by Abha(PPT3)

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    1/20

    Abha Sharma

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    2/20

    Class

    Variables

    Instance Class/Static Local

    Constants Constructors Methods

    Instance Static

    Static blocks

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    3/20

    Local variables are declared in methods, constructors, or blocks.

    Local variables are created when the method, constructor or block isentered and the variable will be destroyed once it exits the method,constructor or block.

    Access modifiers cannot be used for local variables.

    Local variables are visible only within the declared method, constructoror block.

    Local variables are implemented at stack level internally.

    There is no default value for local variables so local variables should bedeclared and an initial value should be assigned before the first use.

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    4/20

    Here age is a local variable. This is defined insidepupAge() methodand its scope is limited to this method only. Also age variable should beinitialized or else it will give error while compiling.

    public class Test{public void pupAge(){int age = 0;age = age + 7;System.out.println("Puppy age is : " + age)}

    public static void main(String args[]){Test test = new Test();Test.pupAge();}

    }

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    5/20

    Instance variables are declared in a class, but outside amethod, constructor or any block.

    When a space is allocated for an object in the heap a slot for

    each instance variable value is created.

    Instance variables are created when an object is createdwith the use of the key word 'new' and destroyed when the

    object is destroyed.

    Instance variables hold values that must be referenced bymore than one method, constructor or block.

    Object is also knownas Instance variable

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    6/20

    Access modifiers can be given for instance variables.

    The instance variables are visible for all methods, constructors andblock in the class. Normally it is recommended to make these variablesprivate (access level).However visibility for subclasses can be given forthese variables with the use of access modifiers.

    Instance variables have default values. For numbers the default value is0, for Booleans it is false and for object references it is null. Values canbe assigned during the declaration or within the constructor.

    Instance variables can be accessed directly by calling the variable nameinside the class. However within static methods and different class (when instance variables are given accessibility) they should be calledusing the fully qualified name . ObjectReference.VariableName

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    7/20

    import java.io.*;

    class Employee{

    // this instance variable is visible forany child class.

    public String name;

    // salary variable is visible inEmployee class only.

    private double salary;

    // The name variable is assigned inthe constructor.

    public Employee (StringempName){

    name = empName;

    }

    // The salary variable is assigned a value.public void setSalary(double empSal){

    salary = empSal;}

    // This method prints the employee details.public void printEmp(){

    System.out.println("name : " + name );System.out.println("salary :" + salary);

    }

    public static void main(String args[]){Employee empOne = new

    Employee("Ransika");empOne.setSalary(1000);empOne.printEmp();

    }}

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    8/20

    Class variables also known as static variables are declared withthe static keyword in a class, but outside a method, constructoror a block.

    There would only be one copy of each class variable per class,regardless of how many objects are created from it.

    Static variables are rarely used other than being declared asconstants. Constants are variables that are declared aspublic/private, final and static. Constant variables never changefrom their initial value.

    Static variables are stored in static memory. It is rare to use staticvariables other than declared final and used as either public or

    private constants. Static variables are created when the program starts and

    destroyed when the program stops.

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    9/20

    Visibility is similar to instance variables. However, moststatic variables are declared public since they must beavailable for users of the class.

    Default values are same as instance variables. For numbersthe default value is 0, for Booleans it is false and for object

    references it is null. Values can be assigned during thedeclaration or within the constructor. Additionally valuescan be assigned in special static initializer blocks.

    Static variables can be accessed by calling with the classname . ClassName.VariableName.

    When declaring class variables as public static final, thenvariables names (constants) are all in upper case. If thestatic variables are not public and final the naming syntaxis the same as instance and local variables.

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    10/20

    import java.io.*;

    class Employee{

    // salary variable is a private static variable

    private static double salary;

    // DEPARTMENT is a constant

    public static final String DEPARTMENT = Development;

    public static void main(String args[]){

    salary = 1000;

    System.out.println(DEPARTMENT+"average salary:"+salary);

    }

    }

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    11/20

    1.Declaration: To associate a variable name with an object type.

    2.Instantiation: The new keyword is a Java operator that creates the

    object.

    3.Initialization: The new operator is followed by a call to aconstructor,which initializes the new object.

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    12/20

    It initializes an object immediately upon creation.

    It has the same name as that of the class.

    It has no return type, this is because the implicit

    return type of a class constructor is class type itself. Constructor initializes the internal state of an object so

    that the code creating an instance will have a fullyinitialized, usable state.

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    13/20

    Constructor is automatically called when object is created,before new operator completes.

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    14/20

    public class Rectangle {

    public int width = 0;public int height = 0;

    public Point origin;

    // four constructors

    public Rectangle() {

    origin = new Point(0, 0);

    }public Rectangle(Point p) {

    origin = p;

    }

    public Rectangle(int w, int h) {

    origin = new Point(0, 0);

    width = w;height = h;

    }

    public Rectangle(Point p, int w, int h) {origin = p;width = w;height = h;}// a method for moving the rectanglepublic void move(int x, int y)

    { origin.x = x; origin.y = y; }// a method for computing the area of the rectanglepublic int getArea(){ return width * height; }}

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    15/20

    this(...)

    use this anywhere as a reference to an object of thecurrent class type.

    super(...)Use superto call a constructor from a parent class.Calling the constructor of the superclass must be the

    first statement in the body of a constructor. If you are

    satisfied with the default constructor in the superclass, there is no need to make a call to it because itwill be supplied automatically.

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    16/20

    For example, the Point class was written like

    public class Point {

    public int x = 0;

    public int y = 0;

    Public Point(int a, int b) //constructor

    { x = a; y = b; }}

    but it could have been written like this:

    public class Point {

    public int x = 0;public int y = 0;

    public Point(int x, int y) //constructor

    { this.x = x;

    this.y = y; }

    public Point(int x, int y) {

    super();// Automatically done if you don't call

    constructor here.

    m_x = x;

    m_y = y;

    }When to call super() :

    You want to call a parent constructorwhich has parameters (theautomatically generated super

    constructor call has no parameters). There is no parameterless parent

    constructor because onlyconstructors with parameters aredefined in the parent class.

    This() Super()

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    17/20

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    18/20

    It does workthat all staticblocks ask itto do withoutrequiring anobject to use

    it.

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    19/20

    type name(parameter-list){//body of method

    }

    if we return nothing then type of method is void.

    void name(){

    System.out.println("name");

    }

    if we want to return type-int then we write as follows:

    int answer(int l, int b, int h){

    ans=l*b*h;

    }

  • 8/3/2019 Java-Class Notes Compiled by Abha(PPT3)

    20/20

    Thanks

    1. The Complete Reference: Java by McGraw-Hill2. http://leepoint.net/notes-java/oop/constructors/constructor.html