方法的两种形态,是面向软件层来说的,因为其本质都是对内存和硬盘的一组操作。
静态方法和实例化方法之间可以相互转化,所以都是通用的,可以使用任一种实现操作。
使用哪种类型的方法,要从问题出发,如果这个操作与类的非静态变量无关,应设计为静态方法,比如一些工具类、单例模式(如数据库连接、应用大的工程软件)等。
实例化方法需要实例化才能使用,并被加载到内存。而静态方法不需要实例化,可以直接调用,但并不是应用一启动就会被加载,很多人说的在这方面没有表述清楚,是这个类第一次被加载时,这个方法被加载。所以当你用类A中静B方法时,会加载到也许没有用的A中的静C方法。但是由于是都是方法,所以对一个方法来讲,两者是一样的,在内存中只有一份,不会像变量那样有很多的拷贝。