黑马程序员技术交流社区

标题: 类名.方法名();和对象名.方法名();有什么区别? [打印本页]

作者: 陈东    时间: 2012-3-13 19:26
标题: 类名.方法名();和对象名.方法名();有什么区别?
本帖最后由 陈东 于 2012-3-13 21:42 编辑

在调用一个类的方法的时候,可以用类名.方法名()来调用该方法,也可以new一个该类的对象,使用new的对象.方法名()来调用方法,这两种调用方式有什么区别吗?

作者: 徐振升    时间: 2012-3-13 19:30
类名.方法名来调用的方法是静态方法吧。声明的时候用到了static关键字 调用的时候必须用类名.方法名调用而不能用实例的对象调用。

有不对的地方欢迎提出!
作者: 贾宁    时间: 2012-3-13 20:08
没有加static的方法或属性,都必须先实例化,再通过 实例名.方法名或实例名.属性来访问;
加static的方法或属性,可以直接通过 类名.方法名或类名.属性来访问

作者: 王长森    时间: 2012-3-13 20:54
类名.方法名一般是静态方法,比如Console.WriteLine();这就是属于静态方法
new 一般是实例化对象,通过对象.方法名,一般是普通方法!
作者: 原世功    时间: 2012-3-13 21:00
用类名.方法名()来调用的方法是静态方法,静态方法声明前肯定有static关键字
new一个该类的对象,使用new的对象.方法名()来调用的方法时实例方法,实例方法声明的时候没有static关键字,并且实例方法必须用new出来的对象来调用
作者: 邓坤    时间: 2012-3-14 19:21
类名.方法名()这种用法的方法得是静态方法,即用static声明的方法
而对象名.方法名(),这个方法是非静态的方法,通过对象名来访问
该类的方法或属性。
作者: 蔡军    时间: 2012-3-14 23:43
如果方法名前面有static 修饰就用类名.方法名(),其它的都用对象名.方法名();呵呵、、、记住这句话就OK了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2