person类与其子类在使用中的内存情况(含java的改写和c#的屏蔽)
JAVA 普通person类及调用代码:
public class Person
{
public String xm;
public int nl;
public void setme(String x,int y)
{
xm=x;
nl=y;
}
public void showme()
{
System.out.println("我是"+xm+",今年"+nl+"岁");
}
}
public static void main(String[] args)
{
// TODO Auto-generated method stub
Person a,b;
a=new Person();
b=new Person();
a.setme("张三",20);
b.setme("李四",18);
a.showme();
b.showme();
}
C# 普通person类及调用代码:
class Person
{
public String xm;
public int nl;
public void setme(String x, int y)
{
xm = x;
nl = y;
}
public void showme()
{
Console.WriteLine("我是" + xm + ",今年" + nl + "岁");
}
}
class Program
{
static void Main(string[] args)
{
Person a, b;
a = new Person();
b = new Person();
a.setme("张三", 20);
b.setme("李四", 18);
a.showme();
b.showme();
Console.ReadKey();
}
}
对应内存示意图(不严谨,仅为说明问题,下同)

JAVA person类的子类person1及调用代码:
public class Person1 extends Person
{
public void showme()
{
System.out.println("我是中国人"+xm+",今年"+nl+"岁");
}
} public static void main(String[] args)
{
// TODO Auto-generated method stub
Person1 a;
Person b,c;
a=new Person1();
b=new Person();
a.setme("张三",20);
b.setme("李四",18);
c=a;
a.showme();
b.showme();
c.showme();
}
对应内存示意图:

运行结果:

C# person类的子类person1及调用代码:
class Person1 : Person
{ new public void showme()//没有new会报一个警告错误,不影响运行结果。以后会讲到。
{
Console.WriteLine("我是中国人" + xm + ",今年" + nl + "岁");
}
}
class Program
{
static void Main(string[] args)
{
Person1 a;
Person b,c;
a = new Person1();
b = new Person();
a.setme("张三", 20);
b.setme("李四", 18);
c = a;
a.showme();
b.showme();
c.showme();
Console.ReadKey();
}
}
对应内存示意图:

运行结果:

person类与其子类在使用中的内存情况(含java的改写和c#的屏蔽)的更多相关文章
- moviepy音视频剪辑:视频基类VideoClip子类VideoFileClip、CompositeVideoClip、ImageSequenceClip介绍
☞ ░ 前往老猿Python博文目录 ░ 一.引言 在<moviepy音视频剪辑:moviepy中的剪辑相关类及关系>介绍了VideoClip主要有六个直接子类(VideoFileClip ...
- moviepy音视频剪辑:视频基类VideoClip子类DataVideoClip、UpdatedVideoClip、ImageClip、ColorClip、TextClip类详解
☞ ░ 前往老猿Python博文目录 ░ 一.概述 在<moviepy音视频剪辑:moviepy中的剪辑相关类及关系>介绍了剪辑相关类及关系,其中VideoClip有多个直接子类和间接子类 ...
- 22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表。然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法showB输出大写的英文字母表。最后编写主类C,在主类的main方法 中测试类A与类B。
22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表.然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法sh ...
- Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。
#29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight.小车类Car是Vehicle的子类,其中包含的属性有载人数 loader.卡车类T ...
- 类的继承和多态性-编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs(),获得腿数量的方法 getLegs(),设置动物名称的方法 setKind(),获得动物名称的方法 getKind(),获得动物数量的方法 getCount()。定义Fish类,是Animal类的子类,
编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs(),获得腿数量的方法 ...
- Java: 基类、子类、构造函数、程序块的初始化顺序
初始化顺序 基类static block 子类static block 基类non-static block 子类non-static block 基类constructor 子类constructo ...
- Format类及其子类功能和使用方法具体解释
Format类及其子类功能和使用方法具体解释 1. Format类结构: · java.lang.Object · java.text.Format · ...
- JavaScript 面向对象编程(三)如何写类和子类
在JavaScript面向对象编程(一)原型与继承和JavaScript面向对象编程(二)构造函数和类中,我们分别讨论了JavaScript中面向对象的原型和类的概念.基于这两点理论,本篇文章用一个简 ...
- 危险代码:如何使用Unsafe操作内存中的Java类和对象
危险代码:如何使用Unsafe操作内存中的Java类和对象—Part1 危险代码:如何使用Unsafe操作内存中的Java类和对象—Part2 危险代码:如何使用Unsafe操作内存中的Java类和对 ...
随机推荐
- yum无法下载,网关问题
由于网关地址改变没有及时更新配置,造成无法下载 failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try h ...
- AQS 抽象队列同步器(Abstract Queued Synchronizer) 知识点
AQS的主要使用方式是继承,子类通过继承同步器并实现它的抽象方法来管理同步状态. AQS使用一个int类型的成员变量state来表示同步状态,当state>0时表示已经获取了锁,当state = ...
- centos7删除Apache组件
非特殊需要不要删除centos7中Apache等组件!首先查看centos中Apache版本(前面我们说了centos7删除PHP,centos7删除MariaDB,可能很多朋友会有疑问为什么要把所有 ...
- OpenCV 学习笔记(14)为轮廓创建边界旋转框和椭圆
https://docs.opencv.org/3.4/de/d62/tutorial_bounding_rotated_ellipses.html 不旋转 #include "opencv ...
- three.js 加载STL文件
注意: TrackballControls.js 和 TDSLoader.js 都引用了 three.module.js,特别注意引用的路径 比如: 直接代码咯 <!DOCTYPE html&g ...
- Linux系统中python默认版本为python2.7,修改为python3 项目上传码云
# 查询系统本系统中安装的python版本 ls -l /usr/bin/python* 1.在虚拟机上新建虚拟环境 # 系统中python默认版本为python2.,可以将其修改为python3 # ...
- 使用css怎么让谷歌支持小于12px的文字比如10px
1.小于12px的字体,如果内容固定,可以将内容切除做图片,没有兼容问题. 2.-webkit-text-size-adjust:none;老版本谷歌,27版本之后无用 3.-webkit-trans ...
- [Gamma]Scrum Meeting#5
github 本次会议项目由PM召开,时间为5月30日晚上10点30分 时长15分钟 任务表格 人员 昨日工作 下一步工作 木鬼 撰写博客,组织例会 撰写博客,组织例会 swoip 前端显示屏幕,翻译 ...
- c# word 插入图片问题
情景描述: 在之前文本框中加标签,代码直接addPicture出现了意外.不起作用,怀疑是文档模板的问题,因为生成的PDF和word格式总时不时有差异,左右捣鼓下,更换文本框,更换图片形式,形状形式, ...
- c# winform禁止窗口多开
static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static vo ...