`

[Java]java子类中如何访问和修改父类成员

    博客分类:
  • Java
阅读更多

 

 
根据父类成员的访问权限修饰词分为两种情况:

①父类成员域由private修饰,那么在子类中不能直接访问父类成员域,但是可以通过父类中的公共方法访问以及修改父类成员域。如:

class FatherClass{

      private int a;

      public int geta(){ return a;}

      public void seta(int a){this.a=a;}

}

则在子类中可以通过geta获得父类的成员域的值,通过seta修改父类成员域的值

②父类成员由public或protected或default(不写访问权限修饰词),在子类中可以直接访问父类成员域,可以修改继承的父类成员域,但是不能直接修改父类本身的成员域(可以通过上面所说的public void seta(int a){this.a=a;}对父类本身的成员域进行修改),以下是示例代码:

运行结果:

 

父类本身的a与子类从父类继承的a占据两个不同的独立的存储空间,在继承之后,他们的值互不相干(继承的时候进行值传递),这样可以避免因为子类中的操作而导致对父类的a的值进行预期结果之外的修改

分享到:
评论

相关推荐

    java 子类对象赋值给父类对象的使用

    在Java编程语言中,子类继承父类是一种常见的特性,它允许子类扩展或复用父类的功能。当我们创建一个子类对象并将其赋值给父类引用时,这种行为被称为向上转型(Upcasting)。这一过程是自动且安全的,因为子类对象...

    在父类获取子类属性

    在Java编程语言中,"在父类获取子类属性"是一个常见的需求,特别是在设计模式、继承和多态性等核心概念的应用中。这个主题涉及到面向对象编程的基本原理,特别是子类继承父类后如何访问和操作子类特有的属性。下面...

    论JAVA继承机制中父类与子类的关系

    - **数据成员的重写**:当子类定义了一个与父类同名的数据成员时,子类成员将隐藏父类成员,即在子类中默认情况下无法直接访问父类成员。 - **方法的重写**:当子类中定义了一个与父类同名且具有相同参数列表的方法...

    将子类引用赋给父类对象时,java虚拟主机并没有将那些非继承成员丢弃

    综上所述,Java的向上转型机制并不丢弃子类的非继承成员,而是通过类元数据和动态绑定来确保这些成员在需要时可以被正确访问。这种设计不仅提高了代码的可复用性和灵活性,也是面向对象编程中的重要特性。在实际开发...

    java反射获取所有属性,获取所有get方法,包括子类父类

    总结,Java反射机制为我们提供了强大的动态性,能够方便地获取和操作类的属性和方法,包括私有成员和子类父类中的成员。通过熟练掌握反射技术,开发者可以实现更灵活、更动态的代码,但也需要谨慎使用,以避免潜在的...

    java中的继承(子类调用父类构造方法还不懂).doc

    ### Java中的继承(子类调用父类构造方法) #### 一、继承的基本概念 Java是一种支持面向对象编程的语言,其中“继承”是一项核心特性。继承允许创建一个新的类(称为子类或派生类),该类继承了现有类(称为父类...

    java子类重写父类的方法.doc

    Java 中,子类重写父类的方法时,需要注意访问级别的限制。子类的重写方法不能比父类的方法拥有更严格的访问级别。例如,如果父类的方法是包访问权限,子类的重写方法可以是公有访问权限,但不能是私有访问权限。...

    Java中父类怎么调用子类的方法

    Java中父类调用子类的方法...本文总结了Java中父类调用子类的方法的三种方式,并对每种方式进行了详细的分析和解释。了解这些知识点对于Java开发者来说非常重要,可以帮助他们更好地理解面向对象编程的思想和设计模式。

    java 静态非静态 字段方法 子类父类构造_初始化顺序!

    java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...

    Java的子类调用父类的构造方法.pdf

    Java的子类调用父类的构造方法.pdf

    Java中父类和子类之间的转换操作示例

    Java中父类和子类之间的转换操作示例 Java 中父类和子类之间的转换操作是面向对象编程(OOP)中一个重要的概念。它允许开发者在不同的类之间进行类型转换,以便更好地实现继承和多态性。在 Java 中,父类和子类之间...

    java多态性详解——父类引用子类对象

    Java的多态性使得代码更加灵活和可扩展,通过父类引用子类对象的方式,不仅能够简化代码结构,还能够在不修改现有代码的基础上添加新的功能。理解并掌握多态性是成为高级Java程序员的关键步骤之一。

    Java中关于子类覆盖父类的抛出异常问题

    在Java编程语言中,子类覆盖父类的方法时,关于异常处理有特定的规定。这个问题的核心是子类在重写父类方法时抛出异常的规则。通常,我们说子类覆盖父类方法时,抛出的异常不能比父类更"宽泛",这里的"宽泛"指的是...

    Java编程关于子类重写父类方法问题的理解

    子类重新实现父类的方法称为重写,重写时可以修改访问权限修饰符和返回值,但方法名和参数类型及个数不能修改。只有当返回值为类类型时,重写的方法才可以修改返回值类型,且必须是父类方法返回值的子类。 那么,该...

    java判断class子类或父类的实例方法

    在 Java 中,判断一个类是否为另一个类的子类或父类是非常重要的,特别是在面向对象编程中。今天,我们将学习如何使用 Java 中的反射机制来实现类的继承关系判断。 首先,我们需要了解 Java 中的 Class 类。Class ...

    再次详细说明在继承中的程序执行顺序,子类与父类到底哪个先执行

    - 子类可以访问父类的公有和受保护成员,但不能直接访问父类的私有成员。若要访问私有成员,可以通过内部的getter和setter方法,或者使用友元类(Java中不支持)。 7. **接口与多继承**: - 在Java中,一个类只能...

    JAVA 子类继承父类的范例 可直接运行

    如果需要在子类中访问父类的私有成员,则需要在父类中提供公共或受保护的方法来获取这些值。子类通过重写父类的方法,可以提供特定于子类的行为,也可以使用`super`关键字调用父类的版本。 关于继承的更多细节,...

    子类调用抽象父类.zip

    在编程世界中,继承是面向对象编程的一个核心概念,它允许子类继承父类的特性并可以进行扩展或修改。本主题围绕“子类调用抽象父类”展开,我们将深入探讨抽象类、子类继承、抽象属性以及如何在子类中重写父类的方法...

Global site tag (gtag.js) - Google Analytics