`

子类覆盖父类

 
阅读更多
1:类属性

父类:
public class Father {
    public String field = "父类变量";
    public final String finalField = "父类常量";
    public static String staticField = "父类静态变量";
    public static final String staticFinalField = "父类静态常量";
}


子类:
public class Son extends Father {
    public String field = "子类变量";
    public final String finalField = "子类常量";
    public static String staticField = "子类静态变量";
    public static final String staticFinalField = "子类静态常量";

    public static void main(String[] args) {
        System.out.println(Son.staticField);
        System.out.println(Son.staticFinalField);

        Father son1 = new Son();
        System.out.println(son1.field);
        System.out.println(son1.finalField);

        Son son2 = new Son();
        System.out.println(son2.field);
        System.out.println(son2.finalField);
    }
}

执行结果:



2:类方法

父类:
public class Father {

    /**
     * 
     */
    public final void TestFinal() {
        System.out.println("父类--这是一个final方法");
    }
}

子类:


  • 大小: 11.2 KB
  • 大小: 17.6 KB
分享到:
评论
1 楼 liuna2011 2012-01-21  
public class Son extends Father {
    public void Test() {
        System.out.println("子类--重写父类方法");
    }

    public static void main(String[] args) {
        Father s = new Son();
        s.Test();
    }
}

public class Son extends Father {
    public void Test() {
        System.out.println("子类--重写父类方法");
    }

    public static void main(String[] args) {
        Son s = new Son();
        s.Test();
    }
}

以上两种写法,打印结果都是:子类--重写父类方法

相关推荐

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

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

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

    重写(Override)是指子类覆盖父类的方法,使得子类能够提供自己的实现方式。通过重写,可以在保持接口一致性的前提下,实现多态性。 #### 二、重写规则 为了确保重写行为的有效性和安全性,Java定义了一系列规则...

    Java、C++中子类对父类函数覆盖的可访问性缩小的区别介绍

    Java 和 C++ 在子类覆盖父类函数时的可访问性缩小有显著的不同。首先,我们要理解什么是函数覆盖。在面向对象编程中,子类可以重写或覆盖父类的方法,以便实现自己的行为。在 Java 和 C++ 中,这个过程通常是通过...

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

    在编程世界中,继承是...最后,当通过子类对象调用方法时,优先执行子类覆盖的方法。理解这一顺序对于编写可维护和可扩展的代码至关重要。在实际编程中,合理利用继承和多态性,可以大大提高代码的灵活性和可复用性。

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

    1. **方法覆盖**:当子类继承父类并重写父类中的方法时,通过父类引用调用该方法,将执行子类中的版本。这是多态性的一种体现。 2. **构造器与初始化**:子类对象在创建时会先调用父类的构造器,确保父类的状态得到...

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

    Java 中的继承(子类调用父类构造方法还不懂) Java 中的继承是指一个类可以继承另一个类的属性和方法,这样可以实现代码的复用和提高开发效率。在 Java 中,继承使用关键字 `extends` 来实现。 Java 中继承的注意...

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

    由于子类重写了父类的overRide()方法,虽然per为父类对象引用,此时父类的该方法被覆盖,所以此时要调用子类的方法;执行过程同上,per不再指向以C为首地址的子类对象,改为指向新创建的子类对象,以D为首地址。 同...

    C++子类父类成员函数的覆盖和隐藏实例详解

    C++子类父类成员函数的覆盖和隐藏实例详解 函数的覆盖  覆盖发生的条件: (1) 基类必须是虚函数(使用virtual 关键字来进行声明) (2)发生覆盖的两个函数分别位于派生类和基类 (3)函数名和参数列表必须完全...

    PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解

    在PHP中,会遇到这样的情况,子类继承父类,但是又需要对父类的属性和方法进行一定的扩展,这时子类可以对属性和方法进行重写,覆盖与父类同名的属性和方法,但是如果父类的方法中的内容比较多,比如上百成千行代码...

    Java编程子类能否重写父类的静态方法探索

    从输出结果可以看到,子类的静态方法不能覆盖父类的静态方法。即使子类中有一个和父类一模一样的静态方法,也只是子类本身的静态方法,而不是父类的静态方法的重写。 这是因为静态方法属于类,而不是对象。静态方法...

    c++中子类对象不能调用父类中的虚函数

    然而,这里有一个陷阱:如果通过子类对象直接调用父类的虚函数,编译器会认为是在调用子类自身的实现,即使子类没有覆盖这个虚函数。这就是“子类对象不能调用父类中的虚函数”的含义。例如,假设我们有以下代码: ...

    圣诞树代码编程python-23-子类重写父类同名属性和方法.ev4.rar

    在Python中,当我们创建一个子类并定义一个与父类同名的方法时,这个子类的方法将覆盖父类的同名方法。例如,如果父类有一个名为`display`的方法,子类也可以定义一个`display`方法,Python解释器在调用子类实例的`...

    在父类获取子类属性

    1. **代码重用**:子类可以直接使用或覆盖父类的方法和属性,减少重复代码。 2. **多态性**:子类实例可以被视为父类类型,允许更灵活的设计和操作。 **访问子类属性:** 1. **直接访问**:如果子类的属性是public...

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

    在Java中,继承是面向对象编程的核心特征之一,它允许我们创建一个新类(子类)基于一个已经存在的类(父类或超类)的结构。这样可以复用现有类的代码,并可添加或覆盖特性来形成新的类。本文将通过具体的代码范例,...

    python课程设计-25-子类调用父类同名方法和属性之思路分析.ev4.rar

    在处理属性时,子类可以覆盖父类的属性,也可以通过`super()`或父类名来访问父类的属性。理解和掌握这些原理,将有助于我们编写更加健壮和可维护的代码。在实际的项目开发中,善用继承和方法调用策略,可以提升代码...

    python课程设计-26-子类调用父类同名方法和属性之代码实现.ev4.rar

    例如,如果子类有一个与父类同名的方法,我们可以使用`super().method_name()`来调用父类的方法,而不是覆盖它。这样可以确保父类的方法依然能够执行。 ```python class Parent: def method(self): print("Parent...

    黑马程序员Java基础视频辅导班课堂笔记总结Day08

    重写(Override)是继承中一个重要的概念,指的是子类覆盖父类方法。子父类中存在一模一样的方法,子类覆盖父类方法。子父类中覆盖的方法也可以存在重载(子类同名方法有自己特有的表现形式时)。 在使用继承时,...

    java方法的覆盖java方法的覆盖.doc

    1. **方法签名**:子类覆盖父类的方法时,方法名必须相同,参数列表也要完全匹配,包括参数类型和数量。只有当这两个条件都满足时,才能构成方法覆盖。 2. **访问权限**:子类覆盖的方法的访问权限不能低于父类中被...

Global site tag (gtag.js) - Google Analytics