码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA课程作业06

时间:2015-11-08 19:20:08      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

问题一:

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

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

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

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

问题二:

请自行编写代码测试以下特性:在子类中,若要调用父类中被覆盖的方法,可以使用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          

技术分享

 

JAVA课程作业06

标签:

原文地址:http://www.cnblogs.com/ljz-2014/p/4947877.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!