Sunday, March 5, 2017

Order of Execution of Constructors Java

Constructors follow the order of derivation in case of Inheritance
i.e- Superclass to Subclass
firstly superclass constructor is called then subclass constructor is called.
also in case of Multilevel inheritance.

Following code will illustrate the concept:

Code::

class a
{
    a()
    {
        System.out.println("A's Constructor");
    }
}
class b extends a
{
    b()
    {
        System.out.println("B's Constructor");
    }
}
class c extends b
{
    c()
    {
        System.out.println("C's Constructor");
    }
}
public class Constructors
{

    public static void main(String[] nt)
    {
        c ob=new c();
    }

}

Output::


super.member in JAVA

Keyword Super is also used to use the members of superclass which are same as the members of subclass.In this case if we use that member it refers to the member of subclass.

Syntax::   super.member;
here member can be data member or method

Following code will illustrate the concept:

Code::

import java.util.*;
class Base
{
    Scanner in=new Scanner(System.in);
    int a,b;
    Base()
    {
        System.out.print("Enter Value of a:");
        a=in.nextInt();
        System.out.print("Enter Value of b:");
        b=in.nextInt();
       
    }
    void display()
    {
        System.out.println("A= "+a+" \nB= "+b);
    }
}
class Derived extends Base
{
    Scanner in=new Scanner(System.in);
    int c;
    Derived()
    {
        System.out.print("Enter Value of c:");
        c=in.nextInt();
    }
    void display()
    {   super.display();
        System.out.println("C= "+c);    
    }
}
public class Inheritance
{

    public static void main(String[] nt)
    {
        Derived ob2=new Derived();
        System.out.println("Values are:");
        ob2.display();
    }
}

Output::

Saturday, March 4, 2017

Super() in Java

Keyword Super is used to refer to the immediate Superclass in case of Inheritance from the Subclass.It is used to call the constructor in case of constructor overloading because without this default constructor is called.

It is used in two forms:

1.Super is used to call the constructor of the Superclass in Subclass Constructor.

Syntax:: super(parameter  list)

Code::

import java.util.*;
class Base
{
    Scanner in=new Scanner(System.in);
    int a,b;
    Base()
    {
        System.out.print("Enter Value of a:");
        a=in.nextInt();
        System.out.print("Enter Value of b:");
        b=in.nextInt();
       
    }
    void show()
    {
        System.out.println(a+b);
    }
}
class Derived extends Base
{
    Scanner in=new Scanner(System.in);
    int c;
    Derived()
    {
        super();
        System.out.print("Enter Value of c:");
        c=in.nextInt();
    }
    void display()
    {
        System.out.println(a+b+c);     // a,b are the members of superclass
    }
}
public class Inheritance
{

    public static void main(String[] nt)
    {
        Derived ob2=new Derived();
        System.out.print("Sum is:");
        ob2.display();
    }
}

Output::

Reference To Subclass Object (Object Slicing)

A Superclass reference variable can refer to a Subclass Object .By doing this the superclass reference variable can access only those members of subclass object which are inherited (those are members of superclass).

Following Code will illustrate the concept:

Code::

class Super
{
    int a,b;
    void show()
    {
        System.out.println(a+b);
    }
}
class Sub extends Super
{
    int c;
    void display()
    {
        System.out.println(a+b+c);     // a,b are the members of superclass
    }
}
public class Inheritance
{

    public static void main(String[] nt)
    {
        Super ob;
        Sub ob2=new Sub();
        ob2.a=50;
        ob2.b=10;
        ob2.c=10;
        ob=ob2;         //superclass reference  variable is assigned a subclass object
        ob.show();
        ob2.display();
    }
}
Output::

Converse is not True i.e a Subclass variable cannot refer to a Superclass object.
Reason behind this can be that Subclass has some members which are not in Superclass so here error occurs.

Multilevel Inheritance Java

In Multilevel Inheritance the Subclass of one superclass is acting as a Superclass for another subclass. Hence the members of both superclass are present in the subclass.

Following code will illustrate the concept:

Code::
import java.util.*;
class A
{
    int a;
}
class B extends A
{
    int b;
}
class C extends B
{
    int c;
    void show()
    {
        System.out.println(a+b+c);                //a,b are members of superclass
    }
}
public class Multilevel
{

    public static void main(String[] nt)
    {   C ob=new C();
        Scanner in =new Scanner(System.in);
        System.out.print("Enter First Number:");
        ob.a=in.nextInt();
        System.out.print("Enter Second Number:");
        ob.b=in.nextInt();
        System.out.print("Enter Third Number:");
        ob.c=in.nextInt();
        System.out.print("Sum is: ");
        ob.show();
    }
   
}

Output::
Java Does not Support Multiple Inheritance Because in Multiple Inheritance if Two Classes have same members then its an ambiguity for Subclass to use which member.  So There is no Multiple Inheritance in Java. But we can achieve this with the help of Interfaces.

Single Inheritance Java

Inheritance is  a feature of reusing the code.Without starting from scratch we can create a new class(Child,Subclass) having all features of old(Parent,Superclass) in addition to its own features.

Syntax:  class Subclass name extends Superclass name
{

//body of sub class

}

Following Code will illustrate the concept:

Code::

class Super
{
    int a,b;
    void show()
    {
        System.out.println(a+b);
    }
}
class Sub extends Super
{
    int c;
    void display()
    {
        System.out.println(a+b+c);     // a,b are the members of superclass
    }
}
public class Inheritance
{

    public static void main(String[] nt)
    {
        Super ob=new Super();
        Sub ob2=new Sub();
        ob.a=50;
        ob.b=20;
        ob2.a=50;
        ob2.b=20;
        ob2.c=10;
        ob.show();
        ob2.display();
    }
}

Output::
Above example also illustrate the fact that we can use a superclass itself.

Tuesday, February 28, 2017

Linux Commands

Commands:

1.cd(Change Directory):
cd                               :for home directory
cd name of directory :will move the control to that directory
cd ..                            :move out of the current directory
cd ../..                         :move out two times of the current directory

2.ls:

ls                                :List the contents of current Directory
ls -a                            :List all the files including hidden files

Example of cd and ls:


3.pwd(Print Working Directory):

pwd                            :print the current working directory
Example:


4.man : command is used for getting details of any command

Example:
5. mkdir : command is used for making a directory/folder in the current directory

Example:
6.rm : command is used for deletion of a file
   rmdir: command is used for deletion of a directory/folder
   rm -r: command is used for deletion of a non empty folder/directory
Example:
7.history: command is used to check all the previous commands used
Example:

8.whoami: command is used to find username
9. uname: command reports basic information about computer hardware and software
Example:

10.top: top command is used to see the currently running  processes with ram usage
Example:

11.gedit:  gedit is used to create a file
Syntax : gedit file name
Example:
12.touch: this command is used to create an empty file
Syntax: touch filename
Example:
13.cat : cat command is used to show the comments of any file in terminal
Example:
this command can also be used to create a file

Syntax:  cat > file name   (Replace the previous contents)
              cat >> file name (append the file)
Example:
14.vi : this command is used to create a file in terminal using vi editor
Syntax: vi filename
Example:
In Vi Editor First Press i To Start Writing
Then For Ending Press ESC key the use any of following
:wq - for closing and saving file
:q!-   for closing without saving
:w-    for saving only

15.cp : command is used to copy file
Syntax: cp source file destination file
Example:
16.mv : command is used to move one file to another location
Syntax: mv source destination
 Can also be used for renaming a file
Example:
17.diff : this command is used to find difference between two files
Syntax: diff file1 file2
Example:



This command also tells how to make two files identical

c - change the contents
a - append the contents
d - delete the contents

18.more:  this command is used to view the contents of file
      Syntax: more filename

19.head :  this command is used to view the first 10 lines of file
       Syntax: head filename
Here we can also specify the no of lines required
            For ex: head -3 filename will print three first lines

20. tail  :   this command is used to view the last 10 lines of file

In this we can also specify the no of lines
            For ex: tail -3 filename   will view the last three lines

Example:
21. df  :  this command is used to view the memory available and used by various drives
            for ex : df -h
-h for Human readable format
we can also specify ant particular drive to get info about that only.

22. du : this command is used to get the memory occupied by a particular directory with a list of all subdirectories.

For ex :  du -sh Directory
Here s for simple only Directory no subdirectory listing,h for human readable

Example:
 23. lsblk: this command print all block devices all tell the type of device

Example:
 24. htop: htop command is used to view the currently running processes of the particular user

Example: