继承与接口的课后作业
2015-11-08 20:16
267 查看
1.动手实验:继承条件下的构造方法调用
源代码: class Grandparent {
public Grandparent()
{
System.out.println("GrandParent Created.");
}
public Grandparent(String string)
{
System.out.println("GrandParent Created.String:"+string);
}
}
class Parent extends Grandparent {
public Parent()
{
//super("Hello.Grandparent.");
System.out.println("Parent Created"); // super("Hello.Grandparent.");
}
}
class Child extends Parent{
public Child()
{
System.out.println("Child Created");
}
}
public class TestInherits {
public static void main(String[] args) { // TODO 自动生成的方法存根 Child c=new Child(); }
}
运行结果截图:
结论:
通过 super 调用基类构造方法,必须是子类构造方法中的第一个语句。
思考:为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来?
构造函数(constructor)是一种特殊的方法 。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中 。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。构造函数的功能主要用于在类的对象创建时定义初始化的状态。 所以说构造函数的作用,简单来说就是初始化,初始化一个新建的对象。
源代码: class Grandparent {
public Grandparent()
{
System.out.println("GrandParent Created.");
}
public Grandparent(String string)
{
System.out.println("GrandParent Created.String:"+string);
}
}
class Parent extends Grandparent {
public Parent()
{
//super("Hello.Grandparent.");
System.out.println("Parent Created"); // super("Hello.Grandparent.");
}
}
class Child extends Parent{
public Child()
{
System.out.println("Child Created");
}
}
public class TestInherits {
public static void main(String[] args) { // TODO 自动生成的方法存根 Child c=new Child(); }
}
运行结果截图:
结论:
通过 super 调用基类构造方法,必须是子类构造方法中的第一个语句。
思考:为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来?
构造函数(constructor)是一种特殊的方法 。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中 。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。构造函数的功能主要用于在类的对象创建时定义初始化的状态。 所以说构造函数的作用,简单来说就是初始化,初始化一个新建的对象。
相关文章推荐
- Physics.IgnoreLayerCollision没有效果
- Android学习之自定义标题栏
- 有序数组的查询
- Light OJ 1354 - IP Checking 【二进制转化】
- Java第一次写的流布局图形界面,留个纪念
- zufe oj Problem H: 简单数学题 java
- Java第一次写的流布局图形界面,留个纪念
- ApplicationOnline_Tips&Review
- 归档
- 数据结构基础5.3:平衡二叉树(AVL树)的调整
- poj 1631 Bridging signals dp LIS
- LINUX 系统运维转向运维开发
- EasyUI - 后台管理系统 - 增加,删除,修改
- 开源消息队列系统 rabbitmq-server 安装详细
- 《大道至简》第六章读后感
- 根据分辨率改变宽度 demo
- 你不知道的JavaScript--Item29 DOM基础详解
- mysql的主从,主主,半同步
- strstr和strchr的区别
- 《大道至简》第六章读后感