【正确答案】
A、C、D
【答案解析】 对于选项A,在Java语言中,java.lang.Exception类是所有异常的直接或问接父类,即Exception类是所有异常的根类。java.lang.Throwable类是在Java语言中所有错误和异常的超类。Exception类的定义为public class Exception extends Throwable,而Throwable的定义为public class Throwable extends Object implements Serializable。由此可见,Exception是公共类(被public修饰)。因此,选项A正确。
对于选项B与选项C,Exception是Throwable的子类,Throwable是类而不是接口。因此,选项B错误,选项C正确。
对于选项D,由于Throwable实现了Serializable接口,因此,可以被序列化。如果一个类能被序列化,那么它的子类也能够被序列化。因此,Exception类也可以被序列化。因此,选项D正确。
所以,本题的答案为ACD。