Skip to main content

Core Java Basic Classes

😏 Core Java Classes Brief Introduction Topics :

#Abstract Class :
An Abstract Class is a class that is declared keyword abstract. it may  or may not include an abstract method

Abstract method:
A method that is a declared as abstract and does not have an implementation.

The abstract class can look something like this:
abstract class GraphicObject {
    int x, y;
    ...
    void moveTo(int newX, int newY) {
        ...
    }
    abstract void draw();
    abstract void resize();
}

#Interface class :
An interface class in java is a blueprint of a class, it has static constant and abstract method.there  can be the only abstract method in Java interface .(is-a relationship)

The Interface class can look something like this:
interface Bicycle {
    //  wheel revolutions per minute
    void changeCadence(int newValue);

    void changeGear(int newValue);

    void speedUp(int increment);

    void applyBrakes(int decrement);
}

#Marker Interface :
it is an empty interface (on field or method )

The Interface class can look something like this:
interface Bicycle {
//empty 
}
Cloneable Interface :
The Cloneable interface is present in java.lang.package. there is a method clone() in the object class
A class that implements the Cloneable interface indicates that itis legal for clone() method to make a field for field copy of an instance of that class.

Serializable Interface :
The Serializable interface is present in the java.io package. It is used to make an object eligible for saving its state into a file. This is called Serialization.
Classes that do not implement this interface will not have any of their state serialized or deserialized. All subtypes of a serializable class are themselves serializable.

Remote interface : 
The remote interface is present in java.rmi package. A remote object is an object which is stored at one machine and accessed from another machine. So, to make an object a remote object, we need to flag it with the Remote interface.
Here, Remote interface serves to identify interfaces whose methods may be invoked from a non-local virtual machine.Any object that is a remote object must directly or indirectly implement this interface.
RMI (Remote Method Invocation) provides some convenience classes that remote object implementations can extend which facilitate remote object creation.
  


#Wrapper Class : 
A wrapper class is a class where object wraps or contains a primitive type.
when we create an object to wrapper class, it contains a field and infield, we can store a primitive datatype, in other words, we can wrap a primitive value into a wrapper class object.

Need od wrapper class :
  • They convert primitive datatype into the object, object are needed if we wish to modify the arguments passed into a method.
  • the classes in java.util package handle only object and hance wrapper classes help in the case also 
  • A data structure in the collection framework, such as ArrayList and vector, store the only object and not the primitive type.
  • An object is needed to support synchronized in multithreading 
Primitive Datatype and their corresponding wrapper class :
Autoboxing : 
Automatic conversion of primitive type to the object of their corresponding wrapper class is known as autoboxing. 
                          
Unboxing :
it is just the reverse process of autoboxing. automatically converting an object of wrapper class to it corresponding primitive type is known as unboxing.

#Casting  Class  :
Casting Really means in taking an object of one particular type and "turning it into" another object type. this process is called casting a variable.

Type Casting :
Assigning a value of one type to a variable of another type is known as typecasting.

Type Casting is classification into two type :

Widening casting (Implicit) :
  • The target type is larger than the source type.
  • it is automatic type conversion.
  • JVM will create new object type.
Narrowing casting (Explicitly):
when you are assigning a larger type value to a variable of small type, the need to perform explicitly.
Related image
  • Larger type value to the variable of small type value.
  • the program will create new object typeset.
#Stream Class:
A stream can be defined as a sequence of data. hierarchy of classes for input and output streams. 
the input stream is used to read data from a source and the output stream is used for writing data to a destination. to perform read and write operation on binary files we need a mechanism to read that binary data on file / to write binary (i.e. in the form of byte)


#Generics Class :
We can define our own classes with generics type. A generic type is a class or interface that is parameterized over types. We use angle brackets (<>) to specify the type parameter.

class MyGen <T> {
 T obj;
 void add (T obj){ this.obj=obj; }
 T.get(){
  return obj;
 }
}
Generic method :
Like a generic class, we can create the generic method that can accept any type of argument.

public static<E> void printArray(E[] elements){
 
 for(E element:elements){
  System.out.println(element);
 }
}

Comments

Post a Comment

Popular posts from this blog

Java Currency Formatter Solution

Given a  double-precision  number,  , denoting an amount of money, use the  NumberFormat  class'  getCurrencyInstance  method to convert   into the US, Indian, Chinese, and French currency formats. Then print the formatted values as follows: US: formattedPayment India: formattedPayment China: formattedPayment France: formattedPayment where   is   formatted according to the appropriate  Locale 's currency. Note:  India does not have a built-in Locale, so you must  construct one  where the language is  en  (i.e., English). Input Format A single double-precision number denoting  . Constraints Output Format On the first line, print  US: u  where   is   formatted for US currency.  On the second line, print  India: i  where   is   formatted for Indian currency.  On the third line...

Java Loops II print each element of our series as a single line of space-separated values.

We use the integers  ,  , and   to create the following series: You are given   queries in the form of  ,  , and  . For each query, print the series corresponding to the given  ,  , and   values as a single line of   space-separated integers. Input Format The first line contains an integer,  , denoting the number of queries.  Each line   of the   subsequent lines contains three space-separated integers describing the respective  ,  , and   values for that query. Constraints Output Format For each query, print the corresponding series on a new line. Each series must be printed in order as a single line of   space-separated integers. Sample Input 2 0 2 10 5 3 5 Sample Output 2 6 14 30 62 126 254 510 1022 2046 8 14 26 50 98 Explanation We have two queries: We use  ...

Java Static Initializer Block

Static initialization blocks are executed when the class is loaded, and you can initialize static variables in those blocks. It's time to test your knowledge of  Static initialization blocks . You can read about it  here. You are given a class  Solution  with a  main  method. Complete the given code so that it outputs the area of a parallelogram with breadth   and height  . You should read the variables from the standard input. If   or    , the output should be  "java.lang.Exception: Breadth and height must be positive"  without quotes. Input Format There are two lines of input. The first line contains  : the breadth of the parallelogram. The next line contains  : the height of the parallelogram. Constraints Output Format If both values are greater than zero, then the  main  method must output the area of the  parallelogram . Otherwise, pri...