java类的继承有实例的区别 主要的问关于两者占内存的区别
比如我有一个A类里面有1个方法a()有创建了一个B类,里面有10个方法,10个方法里面都要用到A里面的a()方法
问是在B里面的10个方法里面都 new 一下A好点 还的让B继承A然后在10个方法里面直接用a()方法
有或者 把a()写成 静态的 直接用A.a();不继承也不实例 问那种好点占系统资源最少
比如我有一个A类里面有1个方法a()有创建了一个B类,里面有10个方法,10个方法里面都要用到A里面的a()方法
问是在B里面的10个方法里面都 new 一下A好点 还的让B继承A然后在10个方法里面直接用a()方法
有或者 把a()写成 静态的 直接用A.a();不继承也不实例 问那种好点占系统资源最少
我觉得写成静态的与继承的差别不明显,关键是从面向对象的思想出发,哪种更合适。
这就可以节省一些内存空间;若不继承时,就要为其重新开辟一定的内存空间;这样就造成了一些不必要的内存空间的浪费;
静态的是在内存中就只有一份他依靠类的存在而存在;不依靠任何对象的存在而存在;所以说静态的与继承没多大的区别,二者之间可以任选一个就行;
这个也行,你试试吧!
回答以下2个问题:
1,A类和B类什么关系?
2,A类的对象和B类的对象什么关系?看LZ的意思,是B类里面有10个方法都要调用A里面的方法,再请问,A.a()是纯粹的处理过程还是要带数据处理的,这里你并未给出,那么我就只能推定你只是处理一个过程,比如输出一个固定的值,或者对传入参数做处理。如若是这样的话,那么这个方法直接写成静态的就行了否则的话,就要考虑A类的对象和B类的对象之间存在着什么样的关系,如果是聚合关系,也就是利用,那么直接讲A类对象作为B类对象的一个属性即可。最后,LZ好好理解写OOP的概念吧,要看继承可以去我CSDN的BLOG,文章不多,但刚好有继承
B use A 成员变量
B is an A 使用继承。
类方法,在系统中只有一个备份,而成员方法根据生成的实例而分配不同的内存,生成实例越多,占用内存越多,从短期的使用角度来说,类方法占用资源少,但从长期使用来说,因为成员是使用时才分配内存,而且用完就有可能被回收,成员被回收后,内存也就释放了,而类方法,系统一开始就会加载类,即使不生成该类对象类方法也会在内存存在,而且会一直占用内存直到该类从系统卸载(一般程序不会这么做的)或系统退出,所以类方法或成员方法,就看你是长期还是短期对内存性能的要求,当然这只是基于内存占用的角度来说,类方法和实例方法,在使用上还是有一定的讲究的,也就是说还要考虑其他如封装等问题