java中什么叫覆盖Override?请给实例

5.覆盖(Override)  (视频下载) (全部书籍)

马克-to-win:方法的覆盖(Override)是指子类重写从父类继承来的一个同名方法(参数、返回值也同)。

例1.5.1---本章源码

class AAAMark_to_win {
    double f(double x, double y) {
        return x * y;
    }
}

class BBB extends AAAMark_to_win {
    double f(double x, double yMark_to_win)
/*注意这里的返回值必须为double,如返回int值,
我试过报错,因为sun公司不出这个语法,他没法办,
到时obj.f(4,6)不知道调用基类还是本类的方法。
*/
    {
        return x + yMark_to_win;
    }
}

public class Test {
    public static void main(String args[]) {
        AAAMark_to_win a = new AAAMark_to_win();
        System.out.println(a.f(4, 6));
        BBB obj = new BBB();
        System.out.println(obj.f(4, 6));
。。。。。。。。。。。。
详情请见:http://www.mark-to-win.com/index.html?content=JavaBeginner/javaUrl.html&chapter=JavaBeginner/JavaBeginner3_web.html#Override

原文地址:https://www.cnblogs.com/mark-to-win/p/9693043.html

时间: 2024-10-30 21:26:12

java中什么叫覆盖Override?请给实例的相关文章

”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?

static是表示静态的意思,它可用来修饰成员变量和成员函数,被静态修饰的成员函数只能访问静态成员,不能访问非静态成员.静态是随着类的加载而加载,因此可以直接用类进行访问. 覆盖又称为重写,重写就是子类中的方法和子类继承的父类中的方法一样(函数名.参数类型.参数.返回值类型),但子类的访问权限不要低于父类的访问权限.重写的前提是必须要继承,private修饰不支持继承,因此被私有的方法不能重写.静态的方法形式上是可以被重写的,即子类中可以重写父类中的静态方法,但实际上在内存的角度上静态方法是不可

Java中反射机制和Class.forName、实例对象.class(属性)、实例对象getClass()的区别(转)

一.Java的反射机制   每个Java程序执行前都必须经过编译.加载.连接.和初始化这几个阶段,后三个阶段如下图:  其中 i.加载是指将编译后的java类文件(也就是.class文件)中的二进制数据读入内存,并将其放在运行时数据区的方法区内,然后再堆区创建一个Java.lang.Class对象,用来封装类在方法区的数据结构.即加载后最终得到的是Class对象,并且更加值得注意的是:该Java.lang.Class对象是单实例的,无论这个类创建了多少个对象,他的Class对象时唯一的!!!!.

java中值类型和引用类型的不同实例(二)

在java中,数组是对象,所以也是种引用类型. 以下示例代码会展示 一 数组中的值为基本类型 二 数组中的值为对象 三 数组的直接赋值和clone赋值 示例1 基本类型数组赋值 1 public class Topcoder 2 { 3 public static void main(String[] args) 4 { 5 int[]a={2,3,4}; 6 int[]b=a; 7 System.out.print(a[0]+" "); 8 System.out.println(b[

java中值类型和引用类型的不同实例(一)

简单分类,java中除了值类型就是对象.值类型就是java中的基本类型,而除了这些基本类型都是对象. [内存] “一个具有值类型(value type)的数据存放在栈内的一个变量中.即是在栈中分配内存空间,直接存储所包含的值,其值就代表数据本身. 值类型的数据具有较快的存取速度. 一个具有引用类型(reference type)的数据并不驻留在栈中,而是存储于堆中.即是在堆中分配内存空间,不直接存储所包含的值,而是指向所要存储的值,其值代表的是所指向的地址.当访问一个具有引用类型的数据时,需要到

Java中通过类名创建一个类的实例

Java中通过类名创建类的实例,此类必须是默认的构造方法,不能自己写构造方法. 方法1: UserDao userDao=null; Properties prop=new Properties();    InputStream inStream=DaoFactory.class.getClassLoader().getResourceAsStream("daoconfig.properties");    prop.load(inStream);    String userDao

Java中9大内置基本数据类型Class实例和数组的Class实例

1.Java中9大内置几本数据类型: 对于对象来说,可以直接使用对象.getClass()或者Class.forName(className);.类名.class都可以获取Class实例. 但是我们的基本数据类型,就没有类的权限定名,也没有getClass方法. 问题:那么如何使用Class类来表示基本数据类型的Class实例? byte,short,int,long,char,float,double,boolean,void关键字 上述8种类型和void关键字,都有class属性. 表示in

JAVA重载(overload)和覆盖(override)中你所不知道的陷阱

大家都知道重载是指在同一个类中,定义了有相同名称但是有不同参数类型的方法时,到底调用那一个方法会根据参数类型来选择.我们来看下面这个例子: public class ParentClass { } public class ChildClass extends ParentClass{ } public class Test { public void testOverLoad(ParentClass cls){ System.out.println("It's ParentClass"

java中重载和覆盖(又称重写)的区别

初次见到这两个单词并没有什么特别的感觉,但是时间长了,却发现书上一会儿用override,一会儿又用overload,搞得我的迷迷糊.于是就做了个总结,希望能对和我一样对这两个概念模糊不清的网友有一个帮助. override 可以翻译为覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用.对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法.除了这个典型的用法以外,我们在继承中也可能会在子类覆盖父类中的方

java中重写、覆盖,重载三者的区别

具体区别有人罗列为: 重写(override)又名覆盖: 1.不能存在同一个类中,在继承或实现关系的类中: 2. 名相同,参数列表相同,方法返回值相同, 3.子类方法的访问修饰符要大于父类的. 4.子类的检查异常类型要小于父类的检查异常. 重载(overload) 1.可以在一个类中也可以在继承关系的类中: 2.名相同: 3.参数列表不同(个数,顺序,类型) 和方法的返回值类型无关. 又有人更加简化为: 重写就是再写一遍,重载就是再加一个.