↑ 收起筛选 ↑
为什么JAvA工具类方法为静态类
2020-06-30

静态方法没有对象,也就没有对象的数据,无法用于多个实例,或是数组之类的场合.而非静态方法,必须建立实例后才可以使用,在很多场合会非常繁琐.你可以理解为,非静态方法用于对象.静态方法用于工具类.再有一个理解,这两者的区别是,非静态方法隐式的将当前对象作为参数传递了进去.如果全部都是静态方法,那么代码其实就类似C或者BASIC了,不是面向对象了.全部都不是静态方法,其实可以实现,只是代码量会增加很多.

静态方法是不需要实例化, 只要通过类名.方法名就可以调用.有些东西没有必要实例化后再调用.例如, 操作数据库的类. 用不着非得实例化了再去执行SQL语句. 直接执行方法执行就行了

静态方法可以使用类名直接调用 静态方法用关键字static来标记 当确定类中的某个方法与该类的对象在逻辑上没有关系的时候,就可以使用静态方法.实例方法必须通过类的对象来调用

个人感觉像是复写才不加static的,因为复写方法时不加jvm可以调用复写的要求:要求子类中出现与父类一模一样的方法时,啥是一模一样,就是返回值类型,方法的名称,参数列表(包括参数类型,参数个数)完全相同.覆盖的注意事项: 覆盖时,子类方法权限一定要大于等于父类方法权限,三种权限,从大到小依次是,public,默认权限,private,默认权限就是什么都不写.比如void show(),void前面什么都没写, 子类静态方法只能覆盖父类静态方法. 在判断权限的时候,不要忘了子类是不能访问父类静态成员的. 希望帮到你,如果不是这个答案,请知道后也告诉我下,谢谢

工具类其实就是提供了一些公共的函数,方便其他类去调用,函数都写成static一方面是因为方便,另一方面是工具类的函数是其他类可以共同调用,不需要每次调用都重新new一个对象出来,完全没有那个必要.

静态变量和静态方法都属于某个类,而不属于类的对象,可以用类名直接调用

工具类一般不创建对象.所以用static.用时直接 类名.方法().望采纳

.既然是非静态的内部类了,说明这个类只使用于包含它的那个类,专用的. 为什么还要在它里面定义静态的呢 原因简单解释一下:把外边的类叫做outclass,内部类叫做innerclass,首先要了解java的装载过程,先加载类,然后初始化

1.静态方法的特点: 直接调用类名+方法名,不需要实例化类对象.如: Hello.P();非静态方法则必须实例化一个对象出来,再通过对象调用该方法如: Hello hello=new Hello(参数1~n); hello.P();2.程序被打包成.jar文件后(相当于.exe文件),给外界唯一的接口就是main方法.使用者双击.jar文件,其实就是让虚拟机执行main方法.3.main方法不是提供给程序员的,而是提供给虚拟机和使用客户的. 一个软件你没法让客户知道你内部的详情,当然客户也就没办法知道怎么去实例化对象,更不知道实例化对象时需要输入什么参数了.所以只能采用静态方法.

工具类其实就是对于String,Collection,IO等常用类的功能的扩展.比如IO读写文件.其实大多数时候我希望有一个文件路径,然后调个方法就直接得到文件内容(字符串或者字节数组形式).如果没有工具类,那么你每个读文件的地方都有一段

延伸阅读: