有些东西虽然简单,但是也稍微整理以便记忆。
关于类的继承与构造方法的调用。
当subclass的构造方法没有显式的调用supclass的某个构造方法时,就会隐式的调用supclass的无参构造方法,
当显式的调用了supclass的某个构造方法时就不再隐式的调用supclass的无参方法。
然而如果此时supclass没有显式的无惨构造方法:
1. 如果supclass有其他构造方法(也就是包含参数的构造方法),subclass便会出现编译错。
package inheritance; public class Superclass { // public Superclass() { // System.out.println("Super: No parameter."); // } public Superclass(int i) { System.out.println("Super: " + i); } public static void main(String[] args) { Subclass s = new Subclass(5); } } class Subclass extends Superclass { public Subclass(int i) { // compiling error. System.out.println("Sub: " + i); } }
2.如果没有其他构造方法(也就是supclass没有显式的构造方法)此时subclass会隐式的调用supclass的默认构造方法,也就是无参构造函数。
package inheritance; public class Superclass extends SuperSupClass{ // public Superclass() { // System.out.println("Super: No parameter."); // } // public Superclass(int i) { // System.out.println("Super: " + i); // } public static void main(String[] args) { Subclass s = new Subclass(5); } } class Subclass extends Superclass { public Subclass(int i) { System.out.println("Sub: " + i); } } class SuperSupClass{ public SuperSupClass(){ System.out.println("Super Super Class ."); } }
此时运行main方法将得到结果:
Super Super Class .
Sub: 5
相关推荐
如果在抽象类中存在有参构造方法,则必须在子类中明确的使用super([参数列表])指明要调用父类中的哪个构造方法. 这里举例如下: view plaincopy to clipboardprint? abstract class Person { // 应该有姓名和...
{2.4}父类对象的方法调用}{51}{section.2.4} {2.5}封装}{52}{section.2.5} {2.6}多态}{53}{section.2.6} {2.7}Sample code}{54}{section.2.7} {2.8}框架中移动的小球}{59}{section.2.8} {2.9}抽象与接口}{59}{...
6.7. 构造方法 6-13 6.8. 数据和方法的隐藏―――封装 6-14 6.9. 方法的重载 6-15 7. 六•高级语言特性 7-15 7.1. 封装 (encapsulation) 7-15 7.2. 继承 (inherit) 7-16 7.2.1. JAVA继承特点 7-16 7.2.2. 父类...
《java jdk 7学习笔记》适合java的初中级读者,以及广大java应用开发人员。 作译者 林信良(网名:良葛格) 学历:台湾大学电机工程学系 经历:台湾升阳教育训练技术顾问、专业讲师,oracle授权训练中心讲师 ...
2.14 Java系统API方法调用 14 2.15二进制基础 14 2.16 Java基础其他注意事项 14 面向对象 16 3.1类 16 3.2对象 16 3.3包 16 3.4方法及其调用 17 3.5引用 17 3.6访问控制(封装) 17 3.7构造器 17 3.8 super()、super...
答:启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。 40.接口是否可...
c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] 51099在线学习网 http://www.51099.com 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct ...
java初学者的学习笔记,很详细。 目录 0 第一节 7月15日 2 一、 IT行业相关介绍 2 二、C、C++和Java语言的比较 2 三、 JDK基础介绍 2 四、 面向对象与面向过程的比较 2 五、 Java相关介绍 2 六、 Path和Classpath...
可以被这个类或者结构的所有成员函数(方法、构造函数)使用,可以是值类型或引用类型,主要有实例字段和静态字段。区别于局部变量在于局部变量只能被给定的函数或代码块使用 属性:一种用于访问对象或类的特性的成员...
本文实例讲述了Javascript面向对象程序设计继承用法。分享给大家供大家参考,具体如下: 1.关于继承: 百度百科对继承的解释是:继承是...所谓的构造函数继承,就是通过创建一个新对象,调用父类构造函数实现的一种继承
现在我们可以利用ES6的extends方法实现继承,如果想了解更多有关ES6实现的继承请查看《ES6学习笔记(二):教你玩转类的继承和类的对象》,在这里不再做更多的介绍。 文章目录1. call()2. 借用构造函数继承父类型...
VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...
当然,现在用过的东西并不是代表以后还能娴熟的使用,做好笔记非常重要; 1:必须明白为什么要使用线程池:(这点很重要) a:手上项目所需,因为项目主要的目的是实现多线程的数据推送;需要创建多线程的话,那...