java面向对象关于继承的问题
发布网友
发布时间:2022-04-25 13:56
我来回答
共3个回答
热心网友
时间:2022-04-25 15:25
Base base=new Child();
这个分为两部分。。Base base这是定义。。base=new Child();这是赋值。。
因为你把base定义为 Base类型。。所以编译器把他当做Base类型。。至于实际类型。。运行的时候才能确定。。所以不能访问Child的属性和方法。。
Child child=new Child();
Base child=new Child();
这个的不同应该明白了撒。。就是你写代码的时候。。编译器把他们看成的类型是不一样的。。
热心网友
时间:2022-04-25 16:43
对于第一个问题,你要弄清楚权限修饰符的访问控制。如果你的类中定义的属性和方法都是private类型,那么这些成员变量和方法只能在该类的内部使用,外部不能访问。base对象试图从外部访问Child类的属性和方法,是访问不到的。
对于第二个问题:
Child child=new Child();
Base child=new Child();
这两个都是创建child对象,主要就是在实际应用中可以发现继承的用处。没有应用环境,是看不出优势和不足的。
热心网友
时间:2022-04-25 18:18
类型,和引用的问题