实例化一个对象使用New,实例化就是调用一次构造函数 比如:
Dim A As New TR("dsdsd") '若该TR对象的构造函数有参数ByVal s As String
A.fun() '使用一些公开方法,属性
如果仅仅是这样:
Dim A As TR
将不会执行构造函数,你将不能使用一些公开方法,属性
A.fun() '错误
'--------------------
快加入我们吧!发表你的疑问,经验,程序,分享..
让我们共同进步!
dim本身就表示定义某一个类型的变量的.这个类型,包括简单的预定义类型,也包括自定义类型,比如类,数组等等所有类型,只要在一个项目中可见的类型都可以定义.
使用new当然就是定义的时候实例化
这个类型,这时变量已有具体的内存对应.
类,类似于C里的结构体,但是可以做到继承、抽像等面向对象的特性.结构体和类都需要new来实例化.
你可以看一下面向对象编程方面的知识.
new 就是实例化,比如实例化一个类,你才能访问,,
好比,你是张三,把你的地址告诉了我,我在能找到你家在哪,这个过程就可以称为实例化.
使用New关键字建立一个新的对象和用它属的类来定义是一样的.New关键字可以被用作来建立一个窗体、类模块以及集合的实例.用户在设计的时候建立的每一个窗体都是一个类.New关键字能够用来建立一个类的实例.
可以通过以下步骤来建立一个类的实例:
(1)在窗体上画一个按钮和几个其他的控件.
Dim x AS New Form1
x.Show
Dim f As Form1
f=New Form1
f.text="hello"
f.Show
使用New关键字可以从类模块中定义的类中建立一个新的集合和对象,要知道它们怎样工作,可以参考下面的例子:
(1)建立一个新的工程,并且在一个名为Form1的窗体上画一个按钮控件.
PUblic Class ShowMe
Sub ShowFrm()
Dim frmNew As Form1
frmNew=New Form1
frmNew.Show()
frmNew.WindowState=1
End Sub
End Class
New关键字只能用来建立一个类的对象,不能建立一个基于基本的数据类型的对象,例如Integer.而且,不能建立一个基于一个具体对象的对象.例如,下面的代码根据一个名为SomeClass的类,建立了一个名为Objx的对象,面后又错误地企图根据对象Objx再建立一个其他的对象:
Dim Objx As New SomeClass()
Dim Objx AS New Objx()
以上代码是非法的.
呵呵##~
顾名思义,new就是给变量赋值一个新的对象
dim不加new就是说变量是XX类型的,但它不是一个真正的XX对象.如果给这个变量赋值的话,实际上就是把某一对象的指针存到变量里,它依旧不是一个对象
一个普通的类,里面有一些数据,你要弄一个对象的话,需要初始化所有类中的数据并调用构造函数.这时候我们就用new了.如果你不用new,然后直接使用的话,会引发null异常
当然上面的讨论不包括Integer、String、Long这样的数值类型,这些不能用new