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"");

相关文章
|
29天前
|
存储 Java 开发者
【潜意识Java】深入详细理解分析Java中的toString()方法重写完整笔记总结,超级详细。
本文详细介绍了 Java 中 `toString()` 方法的重写技巧及其重要
49 10
【潜意识Java】深入详细理解分析Java中的toString()方法重写完整笔记总结,超级详细。
|
7天前
|
安全 Java 编译器
JAVA泛型类的使用(二)
接上一篇继续介绍Java泛型的高级特性。3. **编译时类型检查**:尽管运行时发生类型擦除,编译器会在编译阶段进行严格类型检查,并允许通过`extends`关键字对类型参数进行约束,确保类型安全。4. **桥方法**:为保证多态性,编译器会生成桥方法以处理类型擦除带来的问题。5. **运行时获取泛型信息**:虽然泛型信息在运行时被擦除,但可通过反射机制部分恢复这些信息,例如使用`ParameterizedType`来获取泛型参数的实际类型。
|
7天前
|
安全 Java 编译器
JAVA泛型类的使用(一)
Java 泛型类是 JDK 5.0 引入的重要特性,提供编译时类型安全检测,增强代码可读性和可维护性。通过定义泛型类如 `Box<T>`,允许使用类型参数。其核心原理是类型擦除,即编译时将泛型类型替换为边界类型(通常是 Object),确保与旧版本兼容并优化性能。例如,`Box<T>` 编译后变为 `Box<Object>`,从而实现无缝交互和减少内存开销。
|
29天前
|
Java 应用服务中间件 API
【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析
本文介绍了 Spring Boot 的核心概念和使用场景,并通过一个实战项目演示了如何构建一个简单的 RESTful API。
38 5
|
29天前
|
人工智能 自然语言处理 搜索推荐
【潜意识Java】了解并详细分析Java与AIGC的结合应用和使用方式
本文介绍了如何将Java与AIGC(人工智能生成内容)技术结合,实现智能文本生成。
58 5
|
29天前
|
SQL Java 数据库连接
【潜意识Java】Java中JDBC过时方法的替代方案以及JDBC为什么过时详细分析
本文介绍了JDBC中一些常见过时方法及其替代方案。
41 5
|
29天前
|
Java 数据库连接 数据库
【潜意识Java】深度分析黑马项目《苍穹外卖》在Java学习中的重要性
《苍穹外卖》项目对Java学习至关重要。它涵盖了用户管理、商品查询、订单处理等模块,涉及Spring Boot、MyBatis、Redis等技术栈。
77 4
|
29天前
|
Java 数据库连接 数据库
【潜意识Java】使用 Ruoyi 框架开发企业级应用,从零开始的实践指南和分析问题
本文介绍了基于Spring Boot的开源企业级框架Ruoyi,涵盖环境搭建、项目初始化及用户管理模块的创建。
134 4
|
29天前
|
SQL Java API
|
29天前
|
SQL Java 数据库连接
【潜意识Java】深入理解MyBatis的Mapper层,以及让数据访问更高效的详细分析
深入理解MyBatis的Mapper层,以及让数据访问更高效的详细分析
60 1