关于线程的创建过程,下面四种说法正确的有哪些?(多选)
A. 定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法
B. 定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法
C. 定义一个实现Runnable接口的类并实现run()方法,创建该类实例对,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法
D. 定义一个实现Runnable接口的类并实现run()方法,创建该类对象,然后调用run()方法