假设A是类B的父类,声明中:A x =new B();有什么意义嘛?为什么B x=new A();就不对了
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/10/04 19:22:52
假设A是类B的父类,声明中:A x =new B();有什么意义嘛?为什么B x=new A();就不对了
继承是面向对象编程的一个特点,它具有很多优点,例如你说的两个类:如果父类中有属性,成员方法,以及一些可以被子类继承的方法,那么可以通过子类直接调用.在声明中:A x =new B();是创建了一个A类型,但他是一个子类的实例,这样他就能有子类的全部功能,例如:List list=new ArrayList();而B x=new A();错误是涉及到了类型的转换问题,B类是子类,小类型转化成大类型是隐式转换,因此A x =new B();就是把一个子类的实例转换成父类型,属于大类型转小类型,但如果小类型转大类型就需要显示转换,你可以这样B x =(B)new A();但是这只是表示编译可以通过,执行的时候有可能出现类型转化异常.
假设A是类B的父类,声明中:A x =new B();有什么意义嘛?为什么B x=new A();就不对了
B是A的子类,那么A a=new B();这样有什么意义
设X、Y均为已定义的类名,下列声明类X的对象X1的语句中正确的是( ) A. X x1=new X(); B.X x1=
C# 有A类、B类、和C类.在A中:B b=new B(); 有什么用?
java中假设B继承A,C继承B 下面A a=new C();与C a=new C()有区别吗?多态到底是什么意思.
int[,] Array = new int[5,6,7,8];解释以上代码 A.声明了一个四维数组 B.声明了一个有4
在c#中,定义两个类A,B,且B:A,那么A a = new
已知有声明int x[2][3]={0},*p=x[0];以下表达式中有语法错误的是 A x[0] B P[0] =1
A,B 是两个类B是A的子类 A*pa=new A(8); B*pb=new B(3,2); pa=pb;这三句话什么意
java中 a(new b());
若有声明“double x=3,c,*a=&x,*b=&c;”则下列语句中错误的是______________.
Java A b = new B(); B继承A .