Java 的超类构造分析|学习笔记

简介: 快速学习 Java 的超类构造分析。

开发者学堂课程【Scala 核心编程-基础Java 的超类构造分析】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8973


Java 的超类构造分析

 

一、Scala 中超类的构造

1.回顾-Java 中超类的构造

(1)超类:

可以说是父类或者父类的父类,由于超类的构造也是由于继承导致的,所以有的时候会看到超类的一些概念。

(2)说明:

从代码可以看出:在 Java 中,创建子类对象时,子类的构造器总是去调用一个父类的构造器(显式或者隐式调用)。

代码:

package com.atguigu.chapter07.myextends ;

public class ]avaBaseconstractor {(关于java的一个机制)

public static void main(string[] args){

/ /1.A()

/ /2.B()

B b = new B();

//1.A(String name) jack

//2.B( String name) jack

B b2 =new B( name: "jack" );

class A{(这里有一个 A 类,并且有两个构造器,这里写的原因是 scale 对父类的构造有自己的特色)

publicA(){

Super() 这里也隐藏一个父类是 object 的

System.out.println(""A)"");}

}

public A(String name){

System.out.println("A[String name)""+ name);)

}

class B extends A{(这里 B 继承了 A,此时先优先输出上面的 A,在输出这句话)

public B(){

//这里会隐式调用 super);就是无参的父类构造器A()

//super()

System.out.printin("B()"");(当在 B 里没有写任何调用父类构造器时默认调用的是 super)

}

public B(String name) {(在这里显示调用参数 A 的构造器,这里可显示可不显示)

super(name);

system.out.println("B(String name)"+ name);

}

}

这里发现 scala 里面没有那么灵活,如果子类想调用父类的构造器是必须的但是出口只有一个。

输出的内容:

//1.A()

//2.B()

B b = new B();

//1.A(String name)jack

//2.B(String name)jack

B b2 = new B("jack"");

相关文章
|
2月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
118 4
|
2月前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
207 5
|
2月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
197 1
|
2月前
|
Java Go 开发工具
【Java】(9)抽象类、接口、内部的运用与作用分析,枚举类型的使用
抽象类必须使用abstract修饰符来修饰,抽象方法也必须使用abstract修饰符来修饰,抽象方法不能有方法体。抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例。抽象类可以包含成员变量、方法(普通方法和抽象方法都可以)、构造器、初始化块、内部类(接 口、枚举)5种成分。抽象类的构造器不能用于创建实例,主要是用于被其子类调用。抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类abstract static不能同时修饰一个方法。
232 1
|
2月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
248 1
|
2月前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
203 1
java初学者:构造方法
在前面的文章中,我已经提到过,使用java语言编程主要是依靠类与对象来实现目的,在类的定义中,存在一种特殊的方法——构造函数(又称构造器或构造函数)。
java初学者:构造方法
|
2月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
223 1
|
3月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
172 0