① Java中自定义类和基本类型声明的数组,在对内存中存储的内容、方式和内存地址指向方面有什么区别
1.前边说的基本正确,最后一句不严谨,“并指向新的内存空间”是对的,但未必是“新开辟了一个带有内容的内存空间”因为可以指向另外一个已存在的对象,后者仅在遇见new操作符(或者函数调用里使用了new)才正确。2.可以被final修饰,也可以修饰此变量所指向对象的内容,但不可变更此变量所指向的对象(即不可以指向新的地址)。3.属性也可以是基本数据类型。成员变量被static修饰,就是静态变量,意思是可以被这个类的所有对象所共享而已(如果不是private的还可以被其他类或对象访问),或者说,这个变量被绑定到类上而非对象上。因此,它完全可以被更改。①:static修饰的属性可以被子类调用(只要是protected或public),不存在“覆写”的问题,因为他们各自绑定到不同的类。但是,如果子类类名调用自身未定义的变量或方法,会在父类中找(protected或public的),当然自己重定义就调用自己定义的,用父类类名调用的静态变量调用的是绑定在父类的静态变量(即父类定义的静态变量)。②:final修饰的变量是常量,用类名直接调用由这个变量是否为static来决定,跟final无关。4.无论是否静态变量,都可以是基本或引用类型的。5.①必须是,因为你调用了newA()。另外,对于Aa1,那么a1所指向的对象不是A类型的对象也是A的子类的对象。②对象是变量的一种。变量的本质含义就是一个固定大小的储存空间。对象是变量的一种。同理,类是变量类型的一种。Aa2:在不同的语境下,用词不一样。“a1”,本质是一个指向某对象的指针。但我们谈到“a1变量”时,既可以是指a1这个储存空间(出指向了什么对象),也可以指a1所指向的对象,这得根据上下文语境理解。而“a1对象”一般指后者。6.“对象变量”一般指的是类的非静态成员变量(也就是非静态属性)。7.常量等价于final所修饰的变量。变量可以是引用类型的,也可以是值类型的。8.见7,常量跟static八竿子打不着。另外,你可能提到了一个非常重要的概念区别(在JAVA通常不重要,并没有关键词严格区分):运行时常量与编译时常量。"dsfsdf":像左边这种字符串是常量,又称字面量,是一种非常典型的编译时常量。其实严格来说,编译时常量还分两种,但这已经涉及到CPU的运行机制,过于底层,就不再细讲。
② java自定义类型数组
你好,我看出两点问题来。
1. Student的对象都没有初始化,因为你只创建了数组对象,而数组的每个元素都为null,所以你运行的时候会抛出空指针异常。
2. 你的Student类里面的score属性,也定义成了数组类型,但是你没有对这个属性初始化,在下面给课程分数赋值的时候必然会出错。
③ c#2005 自定义数组类型
试试 泛型,它能很好的解决你这个问题
泛型表示可变类型,类型为变量的时候是很好用的
④ 大学计算机VB数组和自定义类型
1 说明: 在程序中使用自定义的数据类型时,一定要先声明,如你这个程序中的结构studType,一定要放在代码页的最开始的位置,然后是代码页内的局部变量,然后是自己的函数和过程,因此,你上边的程序代码应该按如下次序放置
第一部分:用户定义的数据类型
Private Type studtype
name As String * 5
sex As String * 1
number As Long
department As String * 10
End Type
第二部分:局部公共变量声明
Dim stud(99) As studType
Dim n%
第三部分:各个过程和和函数
Private Sub Command1_Click()
.
.
end sub
Private Sub Command2_Click()
.
.
end sub
Private Sub Command3_Click()
.
.
end sub
对于问题补充中的修改的问题并不重要,只要你前后保持一致就可以了,你也可以试着去改变一下里边的数据类型,以及成员变量的个数.
2 程序中的问题:
1 变量n在使用前未被初始化(从你的那3个按钮事件中未发现有该语句)
2 你定义的数组数是100个,而对n(按钮1中)的比较,超过70就认为超过数组声明个数?
⑤ 数组能否存放不同数据类型
数组是具有相同的数据类型且按一定次序排列的一组变量的集合体。所有数组不能用数组存储不同类型的类.
集合可以!
⑥ 怎么用一个数组储存两种数据类型,如int char
typedef struct tagNewType
{
char a ;
int b ;
} sNewTYpe ;
sNewTYpe Arry[10] ;
这个数组可以同时存放两种不同的数据类型,如果需要多个类型,在结构体里修改即可。希望对你有所帮助。
⑦ object c:nsarray 存放自己定义的数据类型,导致writetofile不能用,那怎么保存数据呢
一定要保存为文件吗?如果不是的话可以使用vector来保存你存储好的自定义类型,定义变量:
vector<myObject *> myVector
用myVector来保存自己定义的数据类型。
如果非要存到文件中的话,NSArray中最好还是用object-c的基本数据类型(NSArray, NSDictionary, NSNumber, NSString,NSData)等数据类型。
希望对你有所帮助。
⑧ VB中一个数组可以存放不同类型的数据么
当数据类型为 Variant 时,数组各个元素能够包含不同种类的数据(对象、 字符串 、数值等等)。
一个数组中的所有元素具有相同的数据类型。当然,当数据类型为 Variant 时,各个元素能够包含不同种类的数据(对象、
字符串 、数值等等)。 可以声明任何基本数据类型的数组,包括用户自定义类型和对象变量。
⑨ C语言自定义数据类型
自定义数据类型就是用户可以随时在程序中自行定义新的数据类型。自定义数据类型时需要设置数据类型的名称及其成员。数据类型成员各属性的设置方法等同于变量设置时相应属性的设置方法。
C中定义数据类型是为了容易编程,定义了数据类型之后又定义了数据类型之间的各种运算,这样对编程人来说就会方便很多。
如不定义数据类型,那么数据之间的差别只有位不同而已,这样如果要定义一个字符变量,首先要去申请一个8位的内存,再去按ASCII码对其进行赋值,这样的话操作很复杂。
(9)数组存储自定义类型扩展阅读
1、数据类型的转换是在计算过程中逐步进行的,整个表达式结果的数据类型一定与表达式中出现的精度最高的数据相同,但是具体得到数据值是逐步得到的。
2、C语言算术表达式的计算,在计算过程中,每一步计算所得结果的数据类型由参与运算的运算对象决定,相同数据类型的两个对象运算,结果数据类型不变,不同数据类型的运算对象进行运算,结果的数据类型由高精度的运算对象决定。