0

0

在Java中this和super能同时使用吗

P粉602998670

P粉602998670

发布时间:2025-11-06 21:16:02

|

514人浏览过

|

来源于php中文网

原创

构造方法中只能选择调用本类或其他构造方法之一作为首行语句,因此this()和super()不能同时直接使用,但可在不同构造方法中分别调用,实现间接共存,而在成员访问时二者可自由并存。

在java中this和super能同时使用吗

在Java中,thissuper不能在同一个构造方法调用中同时作为第一条语句使用。

为什么不能同时使用?

因为在Java构造方法中,调用其他构造方法(无论是本类的还是父类的)都必须放在第一行。这意味着你只能选择调用本类的另一个构造方法(使用 this()),或者调用父类的构造方法(使用 super()),二者只能选其一。

例如,下面的代码是非法的:

this();
super(); // 编译错误:super() 必须在第一行,且不能和 this() 同时出现

可以间接共存

虽然不能在同一个构造方法中直接同时调用 this()super(),但它们可以在不同的构造方法中分别被使用,从而在整个构造链中“共存”。

立即学习Java免费学习笔记(深入)”;

比如:

南方数据企业网站管理系统11 bulid 080901 全屏修正版
南方数据企业网站管理系统11 bulid 080901 全屏修正版

南方数据企业网站管理系统 V11.0全屏版新增功能:1.首页模板布局做了全新的调整;2.新增了企业网站广告管理系统,可以在后台随意增加和修改Banner广告、对联广告、浮动广告、弹出广告;3.新增了QQ在线资讯功能,同时还有N种模板选择;4.更换了网站统计管理系统;5.对菜单进行了加粗处理,显得更美观;6.后台使用了全新的静态编辑器,提高了后台打开编辑器的速度;7.新增了一个模板;8.修改了中英文

下载
class Parent {
    Parent() {
        System.out.println("Parent constructor");
    }
}

class Child extends Parent {
    Child() {
        this("default");
    }

    Child(String name) {
        super(); // 调用父类构造方法
        System.out.println("Child constructor with name: " + name);
    }
}

在这个例子中:

  • Child() 使用 this("default") 调用本类的另一个构造方法
  • Child(String name) 使用 super() 调用父类构造方法
  • 整个构造流程合法,thissuper 在不同构造方法中被使用

成员访问时可以同时出现

在普通方法或构造方法中,你可以同时使用 thissuper 来访问成员变量或方法,这没有限制。

例如:

void display() {
    System.out.println(this.value);     // 访问本类的属性
    System.out.println(super.value);    // 访问父类的属性
    this.method();                      // 调用本类方法
    super.method();                     // 调用父类方法
}

这种用法完全合法,因为不涉及构造方法调用顺序的问题。

基本上就这些。构造方法中只能选一个作为首行调用,但成员访问时可以自由使用两者。

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

648

2023.06.15

java流程控制语句有哪些
java流程控制语句有哪些

java流程控制语句:1、if语句;2、if-else语句;3、switch语句;4、while循环;5、do-while循环;6、for循环;7、foreach循环;8、break语句;9、continue语句;10、return语句。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

453

2024.02.23

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

722

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

725

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

394

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

398

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

441

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

426

2023.08.02

苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

7

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 2万人学习

C# 教程
C# 教程

共94课时 | 5.2万人学习

Java 教程
Java 教程

共578课时 | 36.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号