用代码直观理解子类实例化过程。
1、注意其中super和this关键字的使用。
2、分别对第7,8,9行代码进行注释后运行,观察运行结果。
3、对第45行代码进行取消注释,观察运行结果。
4、注意第51行和第52行代码中this关键字的不同使用方式。
5、源代码不动,注释掉父类中Father()构造方法(第22~25行代码),观察运行结果,并看父类构造函数的注释语句。
class ExtendsDemo { public static void main( String[] args ) { Son s = new Son(); //Son s1 = new Son( 110 ); //Son s2 = new Son( 1, 2 ); //s.speak(); }//end of method main }//end of class ExtendsDemo class Father { String name; int age; Father( ) //此构造函数可以被子类隐式调用 { System.out.println( "Father( ) is run" ); }//end of method Father Father( int x )//如果只有此构造函数,在子类中只能手动调用 { System.out.println( "Father( int x ) is run:" ); }//end of method Father void speak() { System.out.println( "I am father!" ); }//end of method speak }//end of class Father class Son extends Father { Son() { //super( 2116 ); System.out.println( "Son() is run" ); }//end of method Son Son( int x ) { this(); this.speak();//该句在此为打酱油,为表示this调用构造方法和一般方法的不同语法 System.out.println( "Son( int x ) is run" ); }//end of method Son Son( int x, int y ) { this( x ); System.out.println( "on( int x, int y ) is run" ); }//end of method Son void speak() { System.out.println( "I am Son!" ); }//end of method speak }//end of class Son
相关推荐
下面将详细阐述Java中子类实例化的过程及其相关知识点。 首先,子类实例化时会先调用父类的构造器。这是因为子类继承了父类的属性和方法,所以在创建子类对象时,必须确保父类的数据成员被正确初始化。这是通过隐式...
以下是对标题“Java中子类对象的特点测试代码清单”和描述中的内容进行的详细解释。 首先,子类是父类的扩展,它能够继承父类的非私有属性和方法。在给出的代码示例中,`Chinese` 类是 `People` 类的子类,这表明 `...
在学习和复习Java子类的过程中,理解这些概念对于掌握面向对象编程至关重要。这些概念不仅仅适用于Java,它们也是其他现代编程语言中面向对象编程的基石,例如Python、C++和C#等。掌握子类的使用,能够帮助开发者更...
在提供的压缩包文件"易语言类中子类化源码"中,我们可以找到使用易语言实现的类中子类化的具体示例代码。这些源码将帮助我们理解如何在易语言环境中实现子类化,以及如何利用WinProc、CallWindowProc、SetWindowLong...
通过以上讨论,我们可以看到,Java中子类对象赋值给父类对象是一种强大且灵活的设计模式,它允许我们在代码中使用抽象的父类引用,从而简化编程,增加代码的通用性和可维护性。在实际项目中,合理利用这一特性,能够...
易语言源码易语言类中子类化源码.rar 易语言源码易语言类中子类化源码.rar 易语言源码易语言类中子类化源码.rar 易语言源码易语言类中子类化源码.rar 易语言源码易语言类中子类化源码.rar 易语言源码易语言类...
- `ObjectInputStream` 和 `ObjectOutputStream`:用于对象的序列化和反序列化。 ##### 5. `java.lang.*` - **主要功能**:Java 编程语言的基本类库。 - **关键类**: - `String`:用于处理字符串。 - `Object`...
本文主要介绍了Java序列化中子类、父类构造函数问题,结合实例形式分析了java父类与子类构造函数中序列化接口调用相关操作技巧与使用注意事项。 一、序列化接口的实现 在Java中,如果父类实现了序列化接口,那么其...
- `this`关键字用于引用当前对象的实例,可以用来调用本类中的其他构造器或者访问本类的成员变量和方法。 - `super`关键字则用于引用父类的对象,主要用于调用父类的成员变量或方法,尤其是当子类重写了父类的方法...
1.领取任务; 2.在页面http://u.download.csdn.net/upload,上传你认为的最优的资源(设置为0分的资源,将获得更多下载量,创建专辑可获得更多关注); 3.在上传的完成页面中,找到答案; 4.完成任务。
根据提供的信息,我们可以总结出这份Java基础String类选择题练习题主要聚焦于String及StringBuffer类的使用。尽管具体的题目内容未给出,但从所展示的信息中可以推断出该练习题集涵盖了以下几方面的知识点: ### 一...
成员内部类可以直接使用外部类的所有属性和方法,静态内部类不依赖于外部类,局部内部类的实例化只能在方法中进行,匿名内部类一般用于继承其它类或是实现接口。 Lambda表达式是JDK 1.8后开始的新特性,允许把函数...
- Java区分大小写,程序中使用的关键字和保留字必须符合Java语言规范。 2. 输入输出与基本操作 - System.out.print()和System.out.println()用于控制台输出,前者不换行,后者换行。 - Java中所有类的根类是...
Java虚拟机会自动导入**A.java.lang**包中的类,这意味着无需显式导入这些类即可直接使用。 #### 二十一、Java继承关系 - **知识点**: 选择题21考查Java中子类与父类的关系。子类可以从父类继承成员,并可以重新...
在Java编程语言中,子类继承父类是一种常见的面向对象特性,它允许子类获取父类的属性和方法,并且可以进行扩展或覆盖。本文将深入分析Java中子类继承父类时的程序运行顺序,这对于理解面向对象编程的执行机制至关...
在C++编程语言中,`指针`和`引用`是两种非常关键的特性,它们在内存管理和对象操作中起到核心作用。同时,`虚函数`是实现多态性的重要机制,这对于面向对象编程至关重要。然而,有一个重要的概念是:子类对象不能...
Java大一期末试卷主要涵盖了Java语言的基础概念和核心特性,包括类、对象、继承、封装、多态、线程、I/O流、GUI组件、事件监听以及数据库访问等知识点。以下是对这些知识点的详细解释: 1. **访问控制符**: - `...
Java 中子类和父类构造器的使用 - **构造器调用顺序**:理解构造器链式调用的过程,包括如何使用 `super()` 调用父类构造器。 - **this 和 super 的区别**:区分 `this()` 和 `super()` 的使用场景。 - **实例化...
本篇文章介绍了,Java中子类调用父类构造方法的问题分析。需要的朋友参考下