Showing posts with label Programs. Show all posts
Showing posts with label Programs. Show all posts

Saturday, September 25, 2010

CloneDemo

class TestClone implements Cloneable {
int a;
double b;
// This method calls Object's clone().
TestClone cloneTest() {
try {
// call clone in Object.
return (TestClone) super. clone ();
}
catch(CloneNotSupportedException e) {
System.out.println ("Cloning not allowed.");
return this;
}
}
}
class CloneDemo {
public static void main(String args[]) {
TestClone x1 = new TestClone ();
TestClone x2;
x1.a = 10;
x1.b = 20.98;
x2 = x1.cloneTest(); // clone x1
System.out.println ("x1: " + x1.a + " " + x1.b);
System.out.println ("x2: " + x2.a + " " + x2.b);
}
}
Command prompt
C:\java\adv java>javac CloneDemo.java
C:\java\adv java>java CloneDemo
x1: 10 20.98
x2: 10 20.98

: to get member variable of java class

import java.lang.reflect.*;
public class app6
{
public static void main(String args[])
        {
                        printField (args[0]);
        }
        public static void printField(String name)
        {
                        try
                        {
                                        Class c=Class.forName (name);
                        Field [] f=c.getDeclaredFields ();    
                                        System.out.println ("declare of member variable belonging to  "+ name+ "class are");
                                        for (int i=0;i<f.length ;++i )
                                        {
                                                        String fname=f[i].getType ().getName ();
                                        int x=f[i].getModifiers();
                                        if (Modifier.isPublic(x))
                                                        System.out.println ("public");
                                        if (Modifier.isFinal(x))
                                                        System.out.println ("final");
                                        if (Modifier.isStatic(x))
                                                        System.out.println ("Static");
                                        if (Modifier.isPrivate(x))
                                                        System.out.println ("private");
                                        if(Modifier.isProtected(x))
                                                        System.out.println ("Protected");
                                        if(Modifier.isTransient(x))
                                                        System.out.println ("transient");
                        }
                        }
                        catch(ClassNotFoundException cnf)
                        {
                                        cnf.printStackTrace ();
                        }
                        catch(Exception e)
                        {
                                        e.printStackTrace ();
                       
}
                        }
                        }
Command prompt
C:\java\adv java>javac app6.java
C:\java\adv java>java app6 java.lang.String
declare of member variable belonging to  java.lang.String class are
final
private
final
private
final
private
private
final
Static
private
final
Static
private
public
final
Static

to get modifier of given java class

import java.lang.reflect.*;
public class app5
{
public static void main(String args[])
        {
                        listModifier (args[0]);
        }
        public static void listModifier(String name)
        {
                        try
                        {
                                        Class c=Class.forName (name);
                                        int x=c.getModifiers();
                                        System.out.println ("modifier of "+ name+ "class are");
                                        if(Modifier.isPublic(x))
                                                        System.out.println ("public");
                                        if(Modifier.isFinal(x))
                                                        System.out.println ("final");
                                        if(Modifier.isAbstract(x))
                                                        System.out.println ("abstract");
                        }
                        catch (ClassNotFoundException cnf)
                        {
                                        cnf.printStackTrace ();
                        }
        catch(Exception e)
                        {
                                        e.printStackTrace ();
}}}
Command prompt:
C:\java\adv java>javac app5.java
C:\java\adv java>java app5 java.lang.System
modifier of java.lang.Systemclass are
public
final
C:\java\adv java>java app5 java.lang.Integer
modifier of java.lang.Integerclass are
public
final
C:\java\adv java>java app5 java.awt.Button
modifier of java.awt.Buttonclass are
public
C:\java\adv java>java app5 java.lang.Number
modifier of java.lang.Number class are
public
abstract
C:\java\adv java>

to get all interface implement by that class

  • //app4.java
    public class app4
    {
    public static void main(String args[])
            {
            printInterface (args[0]);
            }
            public static void printInterface(String name)
            {
                            try
                            {
                                            Class c = Class.forName (name);
                                            Class i [] =c.getInterfaces ();
                                            System.out.println ("interface implemented by" + name +"class are");
                                            for (int x=0;x<i.length ;++x )
                                            {
                                            String iname=i[x].getName ();
                                            System.out.println ("\t\t"+ iname);
                                            }
                            }
                                            catch(ClassNotFoundException cnf)
                            {
                            cnf.printStackTrace ();
                            }
                            catch (Exception e)
                            {
                                            e.printStackTrace ();
                            }
    }
    }
    Command prompt
    C:\java\adv java>javac app4.java
    C:\java\adv java>java app4 java.lang.Integer
    Interface implemented by java.lang.Integerclass are
                    java.lang.Comparable
    C:\java\adv java>java app4 java.awt.Button
    Interface implemented by java.awt.Buttonclass are
                    javax.accessibility.Accessible
    C:\java\adv java>java app4 java.lang.String
    Interface implemented by java.lang.String class are
                    java.io.Serializable
                    java.lang.Comparable
                    java.lang.CharSequence

to get all the classes of inheritance hierarchy for a given class

//app3.java
public class app3
{
                public static void main(String args[])
                {
                                printhierachy (args[0]);
                }
                public static void printhierachy(String name)
                {
                                try
                                {
                                                Class c=Class.forName (name);
                                                Class sc=c.getSuperclass ();
                                                System.out.println ("inheritance hierarchy class of "+name +"classes are");
                                                while(sc!=null)
                                                {
                                                                System.out.println (""+sc.getName ());
                                                                c=sc;
                                                                sc=c.getSuperclass();
                                                }
                                }
                                catch (Exception e)
                                {
                                                e.printStackTrace ();
                                }
                }
}
Command prompt:
C:\java\adv java>javac app3.java
C:\java\adv java>java app3 java.lang.Integer
Inheritance hierarchy classes of java.lang.Integerclass are
java.lang.Number
java.lang.Object
C:\java\adv java>java app3 java.lang.Float
Inheritance hierarchy classes of java.lang.Floatclass are
java.lang.Number
java.lang.Object
C:\java\adv java>java app3 java.awt.Button
Inheritance hierarchy classes of java.awt.Buttonclass are
java.awt.Component
java.lang.Object
C:\java\adv java>

: If object c represents java.lang.String Class, then ‘sc’ represents java.lang.Object Class

//app2.java
public class app2
{
                public static void main(String args[])
                {
                                printSuperclass (args[0]);
                }
                public static void printSuperclass(String name)
                {
                                try
                                {
                                                Class c=Class.forName (name);
                                                Class sc=c.getSuperclass ();
                                                System.out.println (c.getName () +"extends" + sc.getName ());
                                }
                                catch(Exception e)
                                {
                                                e.printStackTrace ();
                                }
                }
}
In command prompt:
C:\java\adv java>javac app2.java
C:\java\adv java>java app2 java.lang.String
java.lang.Stringextendsjava.lang.Object
C:\java\adv java>java app2 java.lang.Integer
java.lang.Integerextendsjava.lang.Number
C:\java\adv java>java app2 app2
app2extendsjava.lang.Object
C:\java\adv java>

A program to now whether given input is class or interface name

//app1.java
public class app1
{
                public static void main(String args[])throws Exception
{
                Class c=Class.forName (args [0]);
                boolean b=c.isInterface();
                if(b)
                                System.out.println (args [0] +"is an interface");
                else
                                System.out.println (args [0] +" is a class");
}
}

In command prompt
C:\java\adv java>javac app1.java
C:\java\adv java>java app1 java.lang.System
java.lang.System is a class
C:\java\adv java>java app1 java.lang. Runnable
Java.lang. Runnable is an interface
C:\java\adv java>