这个问题。我表示我水平不够无法回答你,我可以说说我个人的理解,lz且听,错了的话也请别见怪。
我理解的是对象这个东西的出现是为了我们在编程的时候能够更加的方便,更加的贴近人类的思考方式而出现的,那么我们是在遇到一个具体问题的时候,通过对象的思想来考虑问题会方便一点,而不是我预先定义好一些对象,然后再去利用这些对象,当然那些库函数不一样,那些东西我的理解是它其实就是sun公司,或者是其它的什么公司对现实世界的一种抽象,和生物科学家将各种动植物分类分科没什么两样,库的作用让我们能碰到现实的事物时,更容易描述它,但是sun公司抽象出啦的东西毕竟是有限的,我们实际生活中碰到的事物可能会不一样,比如说突然有天我家公鸡下蛋了,人家sun公司可能就只提供了母鸡下蛋的方法。
再来说说static 和 get set方法,一个是静态的,一个是动态的,静态是类变量,动态是对象变量,那么涉及到具体的属性而言,我们就需要分析这个属性到底是个什么样的状态,是所有的事物都具有同样的属性值吗?比如对于我而言,我就觉得所有的肉都是一样的,都好吃,那么我可能就会将肉的味道这个属性定义成静态的,初始化值为好吃
但是有些人只喜欢吃特定的肉,他来看这个问题的时候他就觉得肉的味道这个属性应该定义成动态的,再创建肉对象的时候再决定这肉好不好吃。猪肉呢就好吃,牛肉呢就难吃等等。。
那么我的观点也就基本能出来了,我觉得这两者不存在方法上的优劣,有的只是观念上的差异,lz完全可以自由选择一种方法,来展现自己的个性,当然,不是特别的情况,建议楼主用getset 方法,当然如果lz在学习中觉得这个麻烦的话,完全可以将所有属性和方法都定义成静态,反正我写代码的时候现在只考虑功能,所有方法都是静态,这样在主函数中调用的时候不用new对象就可以直接用我觉得这样挺爽。
说了这么多,我不敢保证我说的对,因为我水平也有限,希望楼主看在我码字这么多的情况下,如果我有什么根本性的让你误解的地方以后楼主层次高的时候别怪我就好了。我就是想发表一下自己的看法。 |