Java 如何修复克隆对象时的克隆错误

Java 如何修复克隆对象时的克隆错误,java,Java,我想克隆一个我创建的对象,但它给了我一个如下错误: 类型不匹配:无法从对象转换为Teste 我将在下面留下代码,我需要知道如何解决这个错误,以及需要多少构造函数才能使代码运行 public static void main(String[] args) { Teste e1 = new Teste( "p2"); Teste e2 = new Teste( "p2", 12.4f ); Teste e3 = e1; Teste e4 = e2.clone();

我想克隆一个我创建的对象,但它给了我一个如下错误:

类型不匹配:无法从对象转换为Teste

我将在下面留下代码,我需要知道如何解决这个错误,以及需要多少构造函数才能使代码运行

public static void main(String[] args) {

    Teste e1 = new Teste( "p2");
    Teste e2 = new Teste( "p2", 12.4f );
    Teste e3 = e1;
    Teste e4 = e2.clone();

}

要使自定义对象在java中可克隆,必须遵循两条规则:

  • 您必须实现可克隆接口
  • 必须从对象类重写clone()方法
  • 你应该遵守两条规则。 1.实现可克隆接口
    2.克隆返回一个对象。你必须投

    例:


    }

    首先,您应该遵循Java命名约定:类名是用PascalCase编写的,这意味着它们以大写开头。clone返回一个对象。你必须投
    testee4=(teste)e2.clone()第二,共享
    teste
    类的代码(您应该将其重命名为
    teste
    )。您需要显式地返回到相应的type@MCEmperor我知道我应该这样做,这只是一个测试代码,所以我可以学习克隆的基础知识,谢谢你的洞察力。
    public class Teste implements Cloneable {
    private String firstdata;
    private float fdata;
    
    public Teste(String data) {
        this.firstdata = data;
    }
    
    public Teste(String data, float fdata) {
        this.firstdata = data;
        this.fdata = fdata;
    
    }
    
    public static void main(String[] args) {
    
        Teste e1 = new Teste("p2");
        Teste e2 = new Teste("p2", 12.4f);
        Teste e3 = e1;
        try {
            Teste e4 = (Teste) e2.clone();
            System.out.println(e4.firstdata);
            System.out.println(e4.fdata);
    
        } catch (CloneNotSupportedException e) {
            System.out.println("Error Occured");
            e.printStackTrace();
        }
    
    }