A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 陈东 于 2012-3-13 21:42 编辑

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

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

6 个回复

倒序浏览
类名.方法名来调用的方法是静态方法吧。声明的时候用到了static关键字 调用的时候必须用类名.方法名调用而不能用实例的对象调用。

有不对的地方欢迎提出!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
没有加static的方法或属性,都必须先实例化,再通过 实例名.方法名或实例名.属性来访问;
加static的方法或属性,可以直接通过 类名.方法名或类名.属性来访问

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
类名.方法名一般是静态方法,比如Console.WriteLine();这就是属于静态方法
new 一般是实例化对象,通过对象.方法名,一般是普通方法!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
用类名.方法名()来调用的方法是静态方法,静态方法声明前肯定有static关键字
new一个该类的对象,使用new的对象.方法名()来调用的方法时实例方法,实例方法声明的时候没有static关键字,并且实例方法必须用new出来的对象来调用

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
类名.方法名()这种用法的方法得是静态方法,即用static声明的方法
而对象名.方法名(),这个方法是非静态的方法,通过对象名来访问
该类的方法或属性。
回复 使用道具 举报
蔡军 中级黑马 2012-3-14 23:43:34
7#
如果方法名前面有static 修饰就用类名.方法名(),其它的都用对象名.方法名();呵呵、、、记住这句话就OK了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马