导航:首页 > 源码编译 > 类是在编译时定义的

类是在编译时定义的

发布时间:2023-07-06 00:39:10

A. C++中,只有类,没有对象,编译时是否会赋予类被分配空间的能力

你说的“空间”看来是指数据呢。那确实是不会。
另外对于函数,没有被调用到,运行时就不会给它分配对应空间,这指的也是数据空间

代码空间的话,类或者函数,都有。

B. C# 类的实例化是在 编译时 还是 运行时发生的

同上,正确答案是在运行时,
NET程序在编译的时候是由编译器把C#代码转换成MSIL(微软中间代码),此时仅仅是对代码进行了修改

在程序第一次运行的时候CLR(公共语言运行时)根据本地硬件特征编译生成最优化的二进制文件,存放在C盘对应版本的NET的缓存中,

之后才会调用CPU执行,执行的时候,如果遇到new关键字,才会在内存中实例化对象开辟空间

也就是说,在程序没有执行之前,代码还是代码,new都没有调用

C. C++类类型在说明时编译器会给它开辟什么内存空间

在你的类中由于你没有编写你自己的默认构造函数,所以执行语句A a1,a2,a3;时编译器会调用编译器提供的默认构造函数来生成三个对象。此时已经分配了内存空间,这些空间位于栈上,如果你用的是new关键字的话,这些内存将在自由存储空间里面分配,也就是在堆上,在C++中,程序员在堆上申请的内存空间,要自己负责释放。

楼上的讲错了。

类的成员函数在内存中只有一份拷贝,而数据成员是每一个对象都有一份自己单独拷贝,并且就是靠这些属性来区分对象。
正是由于在成员函数中隐藏了this指针,所有成员函数会自动跟踪对象。

D. java中什么是类和对象

类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。举一个例子说明下类,比如Person(人)就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象,而“姓名、身高、体重”等信息就是对象的属性,人的动作比如“吃饭、穿衣”等就是对象的方法。总之类就是有相同特征的事物的集合,而对象就是类的一个具体实例。同时类有多态和继承,例如“人类”可以分为“男人、女人”,“老人、小孩”那么“男人、女人”就是“人类”的子类等等。

Java语言中对类Person的定义往往如下:

public class Person {

private String name; //属性:姓名

private int height; //属性:身高

private int weight; //属性:体重

public Person() {}

public Person(String name, int height, int weight) {

this.name = name;

this.height = height;

this.weight = weight;

}

//... some methods...

public void doSth() { //行为:

//... do something

}}

Java中的类

类可以看成是创建Java对象的模板。

通过下面一个简单的类来理解下Java中类的定义:

public class Dog{
String breed; int age; String color; void barking(){
}

void hungry(){
}

void sleeping(){
}}

一个类可以包含以下类型变量:

E. 关于JAVA多态的编译时类型与执行时类型的一个问题.

多态的对象,在编译器为sub分配内存空间的时候执行的父类的属性,
运行期,也就是调用方法的时候,指定是子类的行为

这是因为,对象的属性是在声明时指定,方法数据对象的行为

阅读全文

与类是在编译时定义的相关的资料

热点内容
心理大全pdf 浏览:1000
区域链加密币怎么样 浏览:339
查找命令符 浏览:95
压缩工具zar 浏览:735
白盘怎么解压 浏览:474
辰语程序员学习笔记 浏览:47
程序员被公司劝退 浏览:523
java三子棋 浏览:692
加密空间怎么强制进入 浏览:345
ug分割曲线命令 浏览:209
学码思程序员 浏览:609
自考云学习app为什么登不上 浏览:410
domcer服务器昼夜更替怎么搞 浏览:436
plc和单片机哪个好 浏览:535
帝国神话组建云服务器 浏览:827
邓散木pdf 浏览:199
方舟怎么直连服务器图片教程 浏览:563
假相pdf 浏览:336
找对象找程序员怎么找 浏览:976
怎么投诉苹果商店app 浏览:470