You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java子类与父类继承变量疑问及开发者职业咨询

Java继承中变量访问的疑问解答

1. 父类定义正确性

你的父类定义完全正确:

class Superclass {
    int age = 3;

    public void printAge() {
        System.out.println(age);
    }
}

2. 子类是否继承父类的age变量

是可以继承的,父类的age是默认包访问权限,同包下的子类能直接访问该变量,并非你标注的"invisible"。子类无需额外声明,就能通过age访问父类的这个变量。

3. 子类对象调用printAge()的输出结果

判断正确,执行以下代码会输出3:

Subclass obj = new Subclass();
obj.printAge(); // 输出3

子类继承了父类的printAge()方法,该方法访问的是父类自身的age变量。

4. 子类显式声明同名变量后的访问问题

这里有两个错误需要纠正:

  • int类型的默认值是0,不是null(null仅为引用类型的默认值)
  • 父类的printAge()方法访问的始终是父类自己的age变量,不受子类同名变量影响。所以执行obj.printAge()依然会输出3,而非null。

子类显式声明同名变量后,父类的age会被隐藏,但仅在子类的上下文(子类方法、构造器)中直接用age才会指向子类变量;父类方法中的age始终指向父类自身的变量。

5. 重写printAge()方法的输出

修正默认值错误后,你的逻辑是对的:

class Subclass extends Superclass {
    int age; // 默认值为0

    public void printAge() {
        System.out.println(super.age); // 输出3,访问父类的age
        System.out.println(age); // 输出0,访问子类的age
    }
}

6. 你的理解纠正

核心理解正确,但补充一个关键细节:父类方法中访问的变量始终是父类自身的,和子类是否有同名变量无关。只有在子类的方法、构造器中,直接用age才会优先访问子类变量,此时要访问父类同名变量才需要用super.age区分。


成为优秀Java软件开发者的建议

进阶学习方向

  • 深入JVM底层:掌握内存模型、垃圾回收机制、类加载流程、字节码原理,这是理解Java运行机制的核心
  • 并发编程:吃透线程池、锁(synchronized、Lock)、并发工具类(CountDownLatch、CyclicBarrier等)、volatile关键字的原理,能解决实际并发场景问题
  • 主流框架:重点学习Spring Boot(IOC、AOP核心)、MyBatis,有余力可以啃框架源码,理解设计思想
  • 分布式技术:了解微服务架构、RPC框架、消息队列(Kafka/RabbitMQ)、缓存(Redis)、数据库分库分表等,适配大型系统开发需求
  • 设计模式:熟练掌握23种经典设计模式,结合业务场景理解何时使用,写出高可维护的代码

代码实践方法

  • 刷算法题:从LeetCode简单题入手,重点刷数组、链表、二叉树、动态规划等高频题型,锻炼逻辑思维和代码严谨性
  • 做小型项目:比如实现个人博客、在线待办系统,用Spring Boot + MySQL完成,覆盖CRUD操作、接口设计、异常处理等基础场景
  • 参与开源项目:在GitHub上找标注"good first issue"的Java项目,提交PR,学习优秀代码规范和团队协作方式
  • 写技术总结:把学习中的知识点、踩过的坑写成笔记,强迫自己梳理逻辑,加深记忆

实习准备指导

  • 夯实基础:重点复习Java基础(集合框架、IO流、多线程)、SQL语法、数据库索引等高频面试考点
  • 刷面经:收集大厂Java实习面试题,整理高频考点的答题思路,比如HashMap的底层实现、Spring IOC的原理等
  • 梳理项目经历:把自己做过的项目整理成清晰介绍,能讲清技术选型、核心实现、遇到的问题及解决方法,最好能展示代码或演示效果
  • 模拟面试:找同学或同行模拟面试场景,锻炼表达能力,避免面试时紧张忘词

内容的提问来源于stack exchange,提问作者Nahum Auguste

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 12:45:12