Sie sind auf Seite 1von 13

1)What is OOPs?

Ans: Object oriented programming organizes a program around its data,i.e.,objects


and a set of well defined interfaces to that data.An object-oriented program can be
characterized as data controlling access to code.

2)what is the difference between Procedural and OOPs?


Ans: a) In procedural program, programming logic follows certain procedures and the
instructions are executed one after another. In OOPs program, unit of program is
object, which is nothing but combination of data and code.

b) In procedural program,data is exposed to the whole program whereas in OOPs


program,it is accessible with in the object and which in turn assures the security of the
code.

3)What are Encapsulation, Inheritance and Polymorphism?


Ans: Encapsulation is the mechanism that binds together code and data it manipulates
and keeps both safe from outside interference and misuse.
Inheritance is the process by which one object acquires the properties of another
object.
Polymorphism is the feature that allows one interface to be used for
general class actions.

4)What is the difference between Assignment and Initialization?


Ans: Assignment can be done as many times as desired whereas initialization can be
done only once.

5)What are Class, Constructor and Primitive data types?


Ans: Class is a template for multiple objects with similar features and it is a blue print
for objects. It defines a type of object according to the data the object can hold and the
operations the object can perform. Constructor is a special kind of method that
determines how an object is initialized when created.
Primitive data types are 8 types and they are: byte, short, int, long, float, double,
boolean, char

6)What is an Object and how do you allocate memory to it?


Ans: Object is an instance of a class and it is a software unit that combines a
structured set of data with a set of operations for inspecting and manipulating that
data. When an object is created using new operator, memory is allocated to it.

7)What is the difference between constructor and method?


Ans: Constructor will be automatically invoked when an object is created whereas
method has to be called explicitly.
8)What are methods and how are they defined?
Ans: Methods are functions that operate on instances of classes in which they are
defined. Objects can communicate with each other using methods and
can callmethods in other classes.Method definition has four parts. They are name of
the method, type of object or primitive type the method returns, a list of parameters
and the body of the method. A method’s signature is a combination of the first three
parts mentioned above.

9)What is the use of bin and lib in JDK?


Ans: Bin contains all tools such as javac, appletviewer, awt tool, etc., whereas lib
contains API and all packages.

10)What is casting?
Ans: Casting is used to convert the value of one type to another.

11)How many ways can an argument be passed to a subroutine and explain


them?
Ans: An argument can be passed in two ways. They are passing by value and passing
by reference.Passing by value: This method copies the value of an argument into the
formal parameter of the subroutine.Passing by reference: In this method, a reference
to an argument (not the value of the argument) is passed to the parameter.

12)What is the difference between an argument and a parameter?


Ans: While defining method, variables passed in the method are called parameters.
While using those methods, values passed to those variables are called arguments.

13)What are different types of access modifiers?


Ans: public: Any thing declared as public can be accessed from anywhere.
private: Any thing declared as private can’t be seen outside of its class.
protected: Any thing declared as protected can be accessed by classes in the
same package and subclasses in the other packages.
default modifier : Can be accessed only to classes in the same package.

14)What is final, finalize() and finally?


Ans: final : final keyword can be used for class, method and variables.A final class
cannot be subclassed and it prevents other programmers from subclassing a secure
class to invoke insecure methods.A final method can’ t be overriddenA final variable
can’t change from its initialized value.finalize( ) : finalize( ) method is used just
before an object is destroyed and can be called just prior to garbage collecollection
finally : finally, a key word used in exception handling, creates a block of code that
will be executed after a try/catch block has completed and before the code following
the try/catch block. The finally block will execute whether or not an exception is
thrown. For example, if a method opens a file upon exit, then you will not want the
code that closes the file to be bypassed by the exception-handling mechanism. This
finally keyword is designed to address this contingency.

15)What is UNICODE?
Ans: Unicode is used for internal representation of characters and strings and it uses
16 bits to represent each other.

16)What is Garbage Collection and how to call it explicitly?


Ans: When an object is no longer referred to by any variable, java automatically
reclaims memory used by that object. This is known as garbagecollection.System.gc()
method may be used to call it explicitly.

17)What is finalize() method ?


Ans: finalize () method is used just before an object is destroyed and can be called just
prior to garbage collection.

18)What are Transient and Volatile Modifiers?


Ans: Transient: The transient modifier applies to variables only and it is not stored as
part of its object’s Persistent state. Transient variables are not serialized.Volatile:
Volatile modifier applies to variables only and it tells the compiler that the variable
modified by volatile can be changed unexpectedly by other parts of the program.

19)What is method overloading and method overriding?


Ans: Method overloading: When a method in a class having the same method name
with different arguments is said to be method overloading.
Method overriding : When a method in a class having the same method name with
same arguments is said to be method overriding.

20)What is difference between overloading and overriding?


Ans: a) In overloading, there is a relationship between methods available in the same
class whereas in overriding, there is relationship between a superclass method and
subclass method.
b) Overloading does not block inheritance from the superclass whereas overriding
blocks inheritance from the superclass.
c) In overloading, separate methods share the same name whereas in
overriding,subclass method replaces the superclass.
d) Overloading must have different method signatures whereas overriding must have
same signature.

21) What is meant by Inheritance and what are its advantages?


Ans: Inheritance is the process of inheriting all the features from a class. The
advantages of inheritance are reusability of code and accessibility of variables and
methods of the super class by subclasses.

22)What is the difference between this() and super()?


Ans: this() can be used to invoke a constructor of the same class whereas super() can
be used to invoke a super class constructor.

23)What is the difference between superclass and subclass?


Ans: A super class is a class that is inherited whereas sub class is a classthat does the
inheriting.

24) What modifiers may be used with top-level class?


Ans: public, abstract and final can be used for top-level class.

25)What are inner class and anonymous class?


Ans: Inner class : classes defined in other classes, including those defined in methods
are called inner classes. An inner class can have any accessibility including
private.Anonymous class : Anonymous class is a class defined inside a method
without a name and is instantiated and declared in the same place and cannot have
explicit constructors.

26) OOPS concepts

Polymorphism
Ability to take more than one form, In java we achieve this using Method Overloading
(compile time polymorphism), Method overriding (runtime polymorphism)

Inheritance
Is the process by which one object acquires the properties of another object.

Encapsulation
Wrapping of data and function into a single unit called encapsulation. Ex:- all java
programs.

Abstraction
Nothing but representing the essential futures without including background details.

Dynamic binding
Code associated with a given procedural call is not known until the time of the call at
runtime. Dynamic binding is nothing but late binding.
27) class & object?
class
◊ class is a Template that describes the Kind of State(The Instance Variables) and
Behavior (Methods)
class is a blue print of an object component means u can use a piece of code like an◊
independent piece.like servlet,EJB…etc
instance of class u can reuse it in any◊Object application

28) System.out.println()
println() is a methd of java.io.printWriter.◊
“out” is an instance variable of java.lang.System class.◊

29) Transient & volatile

Transient –> the object or variable will not persist.


Volatile –> value will be changed unexpectedly by the other part of the program.

30) Access Specifiers & Access modifiers?


A.S gives access privileges to outside of application (or) others; they are Public,
Protected, Private, Defaults◊Access Specifiers
A.M which gives additional meaning to data, methods and classes, final cannot be
modified at any point of time.◊Access Modifiers

Private Public Protected No modifier


Same class No Yes Yes Yes
Same package Subclass No Yes Yes Yes
Same package non-subclass No Yes Yes Yes
Different package subclass No Yes Yes No
Different package non-subclass No Yes No NO

31) Default Values


0L◊ -2^63 to 2^63 –1 ◊long
0◊ -2^31 to 2^31 –1 ◊Int
0◊ -2^15 to 2^15 –1 ◊Short
0◊ -2^7 to 2^7 –1 ◊Byte
null character (or) ‘\u 0000’◊ 0 to 2^7 –1 ◊char
0.0d◊double
0.0f◊float
false◊Boolean
◊Character ‘\u0000’
32) Byte code & JIT compiler
Byte code is a highly optimized set of instructions. JVM is an interpreter for byte
code. Translating a java program into byte code helps makes it much easier to run a
program in a wide variety of environment.

JIT is a part of JVM, it compiles byte code into executable code in real time, will
increase the performance of the interpretations.

33) Diff Access Specifier & Access Modifiers

Access Specifier

Access Modifiers

34) Wrapper classes

Primitive data types can be converted into objects by using wrapper classes. These are
java.lang.package.

35) Does Java pass method arguments by value or by reference?


A) Java passes all arguments by value, not by reference

36) Arguments & Parameters


While defining method, variable passed in the method are called parameters. While
using those methods, values passed to those variables are called arguments.

37) Public static void main (String [] args)

What if the main method is declared as private?◊


The program compiles properly but at runtime it will give “Main method not public.”
Message

◊ What if the static modifier is removed from the signature of the main method?
Program compiles. But at runtime throws an error “NoSuchMethodError”.

We can write “static public void” instead of “public static void” but not “public void
static”.◊

If I do not provide the String array as the argument to the method?◊


Program compiles but throws a runtime error “NoSuchMethodError”.
If no arguments on the command line, String array of Main method will be empty of
null?◊
It is empty. But not null.
Variables can have the same name as a method or a class◊

38) Can an application have multiple classes having main method?


A) Yes it is possible. While starting the application we mention the class name to be
run. The JVM will look for the Main method only in the class whose name you have
mentioned. Hence there is not conflict amongst the multiple classes having main
method.

39) Can I have multiple main methods in the same class?


A) No the program fails to compile. The compiler says that the main method is
already defined in the class.

40) Constructor

The automatic initialization is performed through the constructor, constructor has


same name has class name. Constructor has no return type not even void. We can pass
the parameters to the constructor. this () is used to invoke a constructor of the same
class. Super () is used to invoke a super class constructor. Constructor is called
immediately after the object is created before the new operator completes.

Constructor can use the access specifiers public, protected or private or have no
access modifier (package access)◊
Constructor can not use the modifiers abstract, static, final, native, synchronized or
strictfp◊
Constructor can be overloaded, we cannot override.◊
You cannot use this() and Super() in the same constructor.◊
Class A(
A(){
System.out.println(“hello”);
}}

Class B extends A {
B(){
System.out.println(“friend”);
}}

Class print {
Public static void main (String args []){
B b = new B();
}
o/p:- Hello
friend

41) Diff Constructor & Method

Constructor Method
Use to instance of a class Grouping java statement
No return type Void (or) valid return type
Same name as class name As a name except the class method name, begin with lower
case.
“This” refer to another constructor in the same class Refers to instance of class
“Super” to invoke the super class constructor Execute an overridden method in the
super class
“Inheritance” cannot be inherited Can be inherited
We can overload but we cannot overridden Can be inherited
Will automatically invoke when an object is created Method has called explicitly

42) Garbage collection

G.C is also called automatic memory management as JVM automatically removes the
unused variables/objects (value is null) from the memory. User program cann’t
directly free the object from memory, instead it is the job of the garbage collector to
automatically free the objects that are no longer referenced by a program. Every class
inherits finalize () method from java.lang.Object, the finalize () method is called by
garbage collector when it determines no more references to the object exists. In Java,
it is good idea to explicitly assign null into a variable when no more in use. In Java on
calling System.gc () and Runtime.gc (), JVM tries to recycle the unused objects, but
there is no guarantee when all the objects will garbage collected.

43) Final, Finally, Finalize

Final: – When we declare a sub class a final the compiler will give error as “cannot
subclass final class” Final to prevent inheritance and method overriding. Once to
declare a variable as final it cannot occupy memory per instance basis.

Final class cannot have static methods◊


Final class cannot have abstract methods◊
Final class can have only a final method.◊

Finally: – Finally create a block of code that will be executed after try catch block has
completed. Finally block will execute whether or not an exception is thrown. If an
exception is thrown, the finally block will execute even if no catch
statement match the exception. Any time a method is about to return to the caller from
inside try/catch block, via an uncaught exception or an explicit return statement, the
finally clause is also execute.

Using System.exit (); in try block will not allow finally code to execute

Finalize: – some times an object need to perform some actions when it is going to
destroy, if an object holding some non-java resource such as file handle (or) window
character font, these resources are freed before the object is going to destroy any
cleanup processing before the object is garbage collected.

There are four main pillars of an Object Oriented Programming Language :


• Inheritance:
Inheritance provide the facility to drive one class by another using simple syntax. You
can say that it is a process of creating new class and use the behavior of the existing
class by extending them for reuse the existing code and adding the additional features
as you need. It also use to manage and make well structured software.
• Encapsulation:
Encapsulation is the ability to bundle the property and method of the object and also
operate them. It is the mechanism of combining the information and providing the
abstraction as well.
• Polymorphism:
As the name suggest one name multiple form, Polymorphism is the way that provide
the different functionality by the functions having the same name based on the
signatures of the methods. There are two type of polymorphism first is run-time
polymorphism and second is compile-time polymorphism.
• Dynamic binding:
It is the way that provide the maximum functionality to a program for a specific type
at runtime. There are two type of binding first is dynamic binding and second is static
binding.
As the languages like C, C++ fulfills the above four characteristics yet they are not
fully object oriented languages because they are structured as well as object oriented
languages. But in case of java, it is a fully Object Oriented language because object is
at the outer most level of data structure in java. No stand alone methods, constants,
and variables are there in java. Everything in java is object even the primitive data
types can also be converted into object by using the wrapper class.

Class: A class defines the properties and behavior (variables and methods) that is
shared by all its objects. It is a blue print for the creation of objects. The primitive data
type and keyword void is work as a class object.
Object: Object is the basic entity of object oriented programming language. Class
itself does nothing but the real functionality is achieved through their objects. Object
is an instance of the class. It takes the properties (variables) and uses the behavior
(methods) defined in the class.
The Encapsulation, Inheritance and Polymorphism are main pillars of OOPs. These
have been described below :

Encapsulation:
Encapsulation is the process of binding together the methods and data variables as a
single entity. It keeps both the data and functionality code safe from the outside world.
It hides the data within the class and makes it available only through the methods.
Java provides different accessibility scopes (public, protected, private ,default) to hide
the data from outside. Here we provide a example in which we create a class “Check”
which has a variable “amount” to store the current amount. Now to manipulate this
variable we create a methods and to set the value of amount we create setAmount()
method and to get the value of amount we create getAmount() method .
Here is the code for “Mainclass” class :
class Check{
private int amount=0;
public int getAmount(){
return amount;
}
public void setAmount(int amt){
amount=amt;
}
}
public class Mainclass{
public static void main(String[] args){
int amt=0;
Check obj= new Check();
obj.setAmount(200);
amt=obj.getAmount();
System.out.println(“Your current amount is :”+amt);
}
}
Here the data variable “amount” and methods setAmount() and getAmount() are
enclosed together with in a single entity called the “Check” class. These two methods
are used to manipulate this variable i.e. set and get the current value of amount.
Here is the output of the example:
C:\>javac Mainclass.java
C:\>java Mainclass
Your current amount is :200

Inheritance:
Inheritance allows a class (subclass) to acquire the properties and behavior of another
class (superclass). In java, a class can inherit only one class (superclass) at a time but
a class can have any number of subclasses. It helps to reuse, customize and enhance
the existing code. So it helps to write a code accurately and reduce the development
time. Java uses extends keyword to extend a class.
Here is the code of the example :
class A{
public void fun1(int x){
System.out.println(“Int in A is :” + x);
}
}
class B extends A{
public void fun2(int x,int y){
fun1(6); // prints “int in A”
System.out.println(“Int in B is :” + x ” and “+y);
}
}
public class inherit{
public static void main(String[] args){
B obj= new B();
obj.fun2(2);
}
}
In the above example, class B extends class A and so acquires properties and behavior
of class A. So we can call method of A in class B.
Here is the output of the example:
C:\>javac inherit.java

c:\>java inherit
Int in A is :6
Int in B is :2 and 5

Polymorphism :
Polymorphism allows one interface to be used for a set of actions i.e. one name may
refer to different functionality. Polymorphism allows a object to accept different
requests of a client (it then properly interprets the request like choosing appropriate
method) and responds according to the current state of the runtime system, all without
bothering the user.
There are two types of polymorphism :
1. Compile-time polymorphism
2. Runtime Polymorphism
In compiletime Polymorphism, method to be invoked is determined at the compile
time. Compile time polymorphism is supported through the method overloading
concept in java.
Method overloading means having multiple methods with same name but with
different signature (number, type and order of parameters).
Here is the code of the example :
class A{
public void fun1(int x){
System.out.println(“The value of class A is : ” + x);
}
public void fun1(int x,int y){
System.out.println(“The value of class B is : ” + x + ” and ” + y);
}
}
public class polyone{
public static void main(String[] args){
A obj=new A();
// Here compiler decides that fun1(int) is to be called and “int” will be printed.
obj.fun1(2);
// Here compiler decides that fun1(int,int)is to be called and “int and int” will be
printed.
obj.fun1(2,3);
}
}
Here is the output of the example:
C:\>javac polyone.java

C:\>java polyone
The value of class A is : 2
The value of class B is : 2 and 3

In rumtime polymorphism, the method to be invoked is determined at the run time.


The example of run time polymorphism is method overriding. When a subclass
contains a method with the same name and signature as in the super class then it is
called as method overriding.
class A{
public void fun1(int x){
System.out.println(“int in Class A is : “+ x);
}
}

class B extends A{
public void fun1(int x){
System.out.println(“int in Class B is : “+ x);
}
}

public class polytwo{


public static void main(String[] args){
A obj;

obj= new A(); // line 1


obj.fun1(2); // line 2 (prints “int in Class A is : 2″)

obj=new B(); // line 3


obj.fun1(5); // line 4 (prints “”int in Class B is : 5″)
}
}
Here is the output of the example:
C:\>javac polytwo.java

C:\>java polytwo
int in Class A is : 2
int in Class B is : 5

In the above program, obj has been declared as A type. In line 1, object of class A is
assigned. Now in the next line, fun1(int) of class A will be called. In line 3, obj has
been assigned the object of class C so fun1(int) of class C will be invoked in line 4.
Now we can understand that same name of the method invokes different functions,
defined in different classes, according to the current type of variable “obj”. This
binding of method code to the method call is decided at run time.

Das könnte Ihnen auch gefallen