黑马程序员技术交流社区

标题: + or - [打印本页]

作者: haha92210    时间: 2014-11-22 11:21
标题: + or -
对于类方法和对象方法 还是搞不太清楚,比如 一个人买了电影院的票,那么人和电影院是两个类, 那买票是类方法还是对象方法,根据视频貌似是对象方法就可以  可是类方法怎么弄 还是不能用类方法。
作者: 万雷    时间: 2014-11-22 12:20
不能用类方法    因为买票的行为是  person这个类产生的person对象去买,而不是 person这个类去买,也就是说类是一个泛指     只有他产生对象  才会有一定的行为,既然是对象    只能调用对象方法
作者: haha92210    时间: 2014-11-22 17:04
万雷 发表于 2014-11-22 12:20
不能用类方法    因为买票的行为是  person这个类产生的person对象去买,而不是 person这个类去买,也就是 ...

你这么说 我懂了 谢谢啊   那么能举个类方法的例子吗?
作者: 依米阳光    时间: 2014-11-24 17:14
个人见解:
关于买票时是类方法还是对象方法的问题,一楼已经解释的很明白了。
如果要举一个类方法的例子,其实很简单不过在这里要明白什么时候要把一个方法定义为类方法,什么时候定义为对象方法。
类方法:也可以理解静态方法,当类被加载的同时一起被加载到静态存储区域中,不用创建该类的对象就能调用。方法只有被大量访问到的时候适合定义为静态变量。
对象方法:当创建类对象的时候,对象方法才会被创建到堆存储区域中,每创建一个对象,对象方法就会被创建一次,当被需要大量用到该方法时,就会被不停的创建对象,创建n多个对象里的方法,即使有的方法用不到也都会被存放到堆存储区域中。看到这里你会发现是不是有点浪费存储区域了呢?
希望能帮助到你~
作者: whenorwhere    时间: 2014-11-24 17:59
谁去调用的此方法(谁去干这件事),此方法就属于谁,类只有实例化后才可以去执行方法。当然静态类和静态方法比较特殊,可以直接调用




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