java.lang.ClassCastException怎么解决
打开我们的开发工具myeclispe,然后点击File,选择New,在点击Java Project选项来新建个java工程项目;
这里新建了三个java类。一个是BaiDu类作为父类,一个JingYan类作为子类。还有一个AesTest类是来测试结果的;
在BaiDu.java父类中,就定义一个name属性。在JingYan.java类里,我们是先继承了BaiDu这个类,然后又定义了个Cname属性,如下图所示。
代码如下:
public class BaiDu {
String name = "baidu";
}
public class JingYan extends BaiDu {
String Cname = "jingyan";
}
在AesTest.java类里面写上测试代码,代码如下:
public static void main(String[] args) {
BaiDu baidu = new BaiDu();
JingYan jingyan = new JingYan();
jingyan = (JingYan) baidu;
System.out.println(jingyan);
}
这里注意,把定义的baidu赋值给jingyan,由于类型不一致,所以要进行类型强制转化,用JingYan这个类来进行强制转换,
写好后,就可以执行这段代码了,执行发现报错java.lang.ClassCastException。报错的意思就是强制类型转换异常,
接着,在修改下代码,代码如下:
public static void main(String[] args) {
BaiDu baidu = new BaiDu();
JingYan jingyan = new JingYan();
baidu = (BaiDu)jingyan;
System.out.println(baidu);
}
这里是把jingyan赋值给baidu,由于类型不一致,所以要进行类型强制转化,用BaiDu这个类来进行强制转换,修改好后,再来执行,发现此时可以正常运行,输出想要的结果。
ava是一种可以撰写跨平台应用软件的面向对象的程序设计语言。
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
Java分为三个体系:
1.分别为Java SE(J2SE,Java2 Platform Standard Edition,标准版),
2.JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企业版),
3.Java ME(J2ME,Java 2 Platform Micro Edition,微型版)。
不能这么干。
例如Dog和Cat都继承自Animal类。
Animal animal = (Animal) dog;//正确
Dog dog = (Dog)cat;//异常
你看到我的截图了么? 你看截图
从错误信息提示你把一个什么类型赋给了一个String类型。
这个错误应该好定位啊。注意下函数的返回类型
- -怎么用......求例子///
比如说你List需要使用String类型,那么你这么申明List如果是其他的类别那么就会报错的