博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA课程作业06
阅读量:4916 次
发布时间:2019-06-11

本文共 1301 字,大约阅读时间需要 4 分钟。

问题一:

为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来?

构造函数主要用于为对象分配空间,进行初始化。

构造一个对象,先调用其构造方法,来初始化其成员函数和成员变量。

子类拥有父的成员变量和成员方法,如果不调用,则从父类继承而来的成员变量和成员方法得不到正确的初始化。

问题二:

请自行编写代码测试以下特性:在子类中,若要调用父类中被覆盖的方法,可以使用super关键字。
1 class Base{ 2  3        protected double size; 4  5        public Base(){ 6                  size=0; System.out.println("Base类无参构造"); 7        } 8        public Base(double s){ 9                   size=s;System.out.println("Base类有参构造");10        }11 }12 13 public class Sub extends Base{14 15             private String color;16 17             public Sub(){18 19                 color="blue";System.out.println("Sub类无参构造");20 21             }22 23             public Sub(String c){24 25                 color=c;System.out.println("Sub类有参构造");26 27             }28 29             30             public Sub(double s,String c){31 32                 super(s);    //调用Base类中带一个参数的构造方法33 34                 color=c;35 36                 System.out.println("Sub类有参构造");37             }38             39             public static void main(String[] args){40                 Sub s1=new Sub(); 41                 Sub s2=new Sub("red");42                 Sub s3=new Sub(0,"red");43             }44 }45 46 //要在子类中显式调用直接父类带参数的构造方法,可通过super()调用来实现。47 48

 

转载于:https://www.cnblogs.com/ljz-2014/p/4947877.html

你可能感兴趣的文章
C#.NET常见问题(FAQ)-如何判断某个字符是否为汉字
查看>>
直接用postman测试api ,服务器端没提供跨域也可以访问。
查看>>
数据的类型以及内置方法
查看>>
继承之super关键字的使用
查看>>
XML - 报表数据的新大陆
查看>>
echart在X轴下方添加字
查看>>
Map集合的两种取出方式
查看>>
GridView,Repeater增加自动序号列
查看>>
SMO算法精解
查看>>
第k小元素学习记录
查看>>
avi文件格式详解【转】
查看>>
django
查看>>
Java学习从入门到精通
查看>>
查找目录下的所有文件中是否含有某个字符串 linux
查看>>
66. Plus One 数组加1
查看>>
范式原则
查看>>
2018年各大互联网前端面试题四(美团)
查看>>
一起学Python:字符串介绍
查看>>
学习笔记:树状数组
查看>>
洛谷P1772 [ZJOI2006]物流运输 题解
查看>>