对象

问题描述

代码:classProgram{staticvoidMain(string[]args){bb1=newb();aa1=b1;a1.f();a1.g();b1.f();b1.g();Console.ReadLine();}}classa{publicvoidf(){Console.WriteLine("a.f");}publicvirtualvoidg(){Console.WriteLine("a.g");}}classb:a{newpublicvoidf(){Console.WriteLine("b.f");}publicoverridevoidg(){Console.WriteLine("b.g");}}输出:a.fb.gb.fb.g问题:输出结果一为什么走的是a1.f()而不是b1.f();关键问题是不在aa1=b1;,请高手给解释一下;

解决方案

解决方案二:
区别在于f()是非虚的,而g()是虚的方法
解决方案三:
因为a中的f和b中的f完全无关,只是名字相同而已(因此b中用了new,其实new不用也能通过,但是会有警告,因为容易让人混淆)。但a中的g和b中的g就有关,b中的g重写了a中的g

时间: 2024-11-16 10:34:21

对象的相关文章

VB.NET中有用的通用对象列表

要使用List(of T),我们需要了解如何部署.NET框架所提供的多种方法.这也将是本文要介绍的内容.我已经编写好了三个示例--使用ForEach, FindAll,和Sort--来阐述同样列表类的工作原理. 第一步是要创建一个同用列表.你可以从多种途径获取数据,但是最简单的方法是添加.文本中,我们会编写代码以便为举例中的集来分类.因此,下面我们就来讲讲创建集的代码. 首先,我需要一个能代表集中的Bottle的对象.为此而编写的代码是完全符合标准的,而且事实上,VB.NET 2008 Expr

[Java] 方法锁、对象锁和类锁的意义和区别

版权声明:请尊重个人劳动成果,转载注明出处,谢谢! 目录(?)[+] 首先的明白Java中锁的机制 synchronized  在修饰代码块的时候需要一个reference对象作为锁的对象.  在修饰方法的时候默认是当前对象作为锁的对象.  在修饰类时候默认是当前类的Class对象作为锁的对象.   线程同步的方法:sychronized.lock.reentrantLock分析 方法锁(synchronized修饰方法时) 通过在方法声明中加入 synchronized关键字来声明 synch

C#对象序列化和反序列化

C#对象序列化和反序列化,如下代码示例: using System;  using System.Text;  using System.Collections.Generic;  using System.IO;  using System.Runtime.Serialization.Formatters.Binary;    class SerializableOperate  {      private static void ObjectSerializable(object obj,

PHP 5 数据对象 (PDO) 抽象层与 Oracle

oracle|对象|数据 一名新 PHP 数据对象 (PDO) 数据抽象层的原始开发人员为您简要介绍该抽象层,重点讲述与 Oracle 一起运行的情况. 需要 PHP:5.0 需要其他:Oracle 8 或更高版本客户端库 下载用于 Oracle 的 PDO (Windows):php_pdo.dll, php_pdo_oci.dll 下载用于 Oracle 的 PDO (Unix):pdo, pdo_oci PDO 简介 PHP 主要是由志愿者完成的项目:尽管有少数一些固定的"核心"

jsp标签-如何通过jsp页面生成List对象

问题描述 如何通过jsp页面生成List对象 如何把通过iterator遍历的List对象,设置成可编辑的状态,然后提交的时候,又能自动封装成一个List对象? 跪求~!在线等... 解决方案 可以将这个iterator中的单个元素的id设置成相同,后台中的将这个id名与一个list对应这样当你提交的时候就会获取一个修改后list

空间|时间|对象 圈人 + 目标人群透视 - 暨PostgreSQL 10与Greenplum的对比和选择

标签 PostgreSQL , PostGIS , geohash , brin , gist索引 , Greenplum , HybridDB for PostgreSQL 背景 通常一个人的常驻地可能会包括:家.儿女家.双方父母家.情人.异性伴侣家.公司.商圈若干等. 通过对这些数据的运营,可以实现很多业务需求.例如: 1.寻人 <海量用户实时定位和圈人 - 团圆社会公益系统(位置寻人\圈人)> 2.线下广告投放人群圈选,选址,商圈人群画像. <数据寻龙点穴(空间聚集分析) - 阿里

innerhtml-无法设置属性“innerHTML”的值: 对象为 null 或未定义

问题描述 无法设置属性"innerHTML"的值: 对象为 null 或未定义 function getdbxx(posturl, paramstr, spanid, inputid) { $.ajax({ type : "post", url : posturl, dataType : 'json', data : 'portletConfigJson=${portletConfigJson}&'+paramstr, success : function(

对象-文件无法写入!还有NullPointerException的问题

问题描述 文件无法写入!还有NullPointerException的问题 (1) 设计一个复数运算接口OperatorListener,定义抽象方法Complex add(Complex z) (2) 设计一个复数类Complex,此复数类实现OperatorListener接口,该类定义 私有属性:实部,虚部 方法:返回此复数的详细信息String toString(),输出格式例如3+4i 实现接口里的Complex add(Complex stu)抽象方法,实现复数的相加 构造方法:有参

保存对象的不同状态值

保存对象的不同状态值   效果   说明 1. 存储不同的状态,对于一个对象而言还是很有必要的,尤其是需要频繁切换状态的时候. 2. block是对象,是可以存储在集合中的.   源码 https://github.com/YouXianMing/ViewState // // NSObject+StatePattern.h // ViewState // // Created by YouXianMing on 15/6/30. // Copyright (c) 2015年 YouXianMi

求大神解答一下-java中对象流objectstream问题

问题描述 java中对象流objectstream问题 输出的为什么不是cyh男20 ym女20求大神解答!!!!!!!!!! 解决方案 你的代码和我这个一样吗?麻烦把你的代码粘全了,我看看 解决方案二: 这个是照片......... 解决方案三: 我和你写的差不多,不知道你为啥会这样,我给你粘出我的代码package lianxi; import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOE