Home » Java programming language

Java Enum clone() method with example

Enum Class clone() method: Here, we are going to learn about the clone() method of Enum Class with its syntax and example.
Submitted by Preeti Jain, on December 06, 2019

Enum Class clone() method

  • clone() method is available in java.lang package.
  • clone() method is used to give assurance that enum cannot be cloned () (i.e. we cannot copy enum objects) which is required to maintain the “singleton” behavior of the properties.
  • clone() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
  • clone() method is a final method so it is not overridable in child class.
  • clone() method may throw an exception at the time of not cloning an enum
    CloneNotSupportedException: This exception may throw when an object class does not implement a Cloneable interface and in that case, if child class overrides clone() method may throw CloneNotSupportedException to represent that an instance cannot be copied or closed.

Syntax:

    protected Object clone();

Parameter(s):

  • It does not accept any parameter.

Return value:

The return type of this method is Object, it returns nothing.

Example:

// Java program to demonstrate the example 
// of Object clone() method of Enum 

enum Weeks {
    SUN,
    MON,
    TUE,
    WED,
    THU,
    FRI,
    SAT;
}
public class Clone {
    public static void main(String args[]) throws CloneNotSupportedException {

        System.out.println("Enum can't be cloned");

        Clone cl = new Clone() {

            protected final Object clone() throws CloneNotSupportedException {

                return new CloneNotSupportedException();
            }
        };

        System.out.println(cl.clone());
    }
}

Output

Enum can't be cloned
java.lang.CloneNotSupportedException





Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.





Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates


© https://www.includehelp.com some rights reserved.