当前位置:网站首页 > 日常百科 > 正文

什么时候要用静态方法

作者:king发布时间:2023-06-02分类:日常百科浏览:32


导读:今天哈哈社小编给各位讲解下静态方法什么时候用的意思,也会对什么时候要用静态方法(什么时候要用静态方法测量)进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在我们开始吧!...
今天哈哈社小编给各位讲解下静态方法什么时候用的意思,也会对什么时候要用静态方法(什么时候要用静态方法测量)进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在我们开始吧! 什么时候要用静态方法什么时候要用静态方法 静态方法何时使用
如果某些操作不依赖具体实例,那它就是静态的,反之如果某些操作是依赖具体实例的(例如访问一个特定会员的名称),那它就应该是实例化的。
静态方法不用new对象可以直接调用
1.与类相关与对象无关
2.不需要对象的“轻”方法
3.工厂方法
如果某个方法是用频率较高,或者方法本身通用性较强,无需初始化类成员变量,则可以使用静态方法,那样方便,速度也快.
可以直接拿来就用的方法,就算是静态的.
肯定不涉及具体对象,因为静态方法内,是无法直接使用任何非静态成员的。
(1)制作工具类
(2)可以当作"作局"对象或方法来使用
静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别。
静态方法不用创建实例就可调用,比较简单从面向对象的角度上来说,在抉择使用实例化方法或静态方法时,应该根据是否该方法和实例化对象具有逻辑上的相关性,如果是就应该使用实例化对象 反之使用静态方法
不需要生成对象的
经常频繁使用的
工具类里的(如SqlHelper)
适当地使用static方法本身并没有什么,当一个人从来不懂使用多态、接口设计时,很自然地会滥用static方法。
个人理解在多个类中需要调用并且是与对象无关的方法可设为静态方法,方便调用。
所有对象共有的方法
再不关系到任何于特定对象相关的操作
比如学生的年龄就是学生的相关。
修改学生的年龄就不适合用静态方法。
一般来说,如果你的方法里没有用到this关键字,
那就适合用静态方法
通常通用的类中一些常用的方法可以设计为静态类
只要是没有用到类的状态信息,只从参数获取信息的都可以为静态的
可以实现某些特殊的设计模式:如Singleton
由于没有this指针,可以把某些系统API的回调函数以静态函数的形式封装到类的内部
可以封装某些算法,比如数学函数,如ln,sin,tan等等,这些函数本就没必要属于任何一个对象,所以从类上调用感觉更好
总之,从OOA/OOD的角度考虑,一切不需要实例化就可以有确定行为方式的函数都应该设计成静态的
静态方法与非静态方法最明显的区别就是如果某个方法是公共静态的,那么可以直接通过类名.方法名的方法来调用,而公共实例方法则需要事先实例化对象,然后才能调用。
  这些各种说法,基本上都是正确的。java static方法什么时候执行 你显示调用的时候执行啊,static方法不同于static块,不会自动执行的,只有你在代码中显示的调用,即类名.静态方法名();才会执行。什么时候要用静态方法? 静态方法何时使用
如果某些操作不依赖具体实例,那它就是静态的,反之如果某些操作是依赖具体实例的(例如访问一个特定会员的名称),那它就应该是实例化的。
静态方法不用new对象可以直接调用
1.与类相关与对象无关
2.不需要对象的“轻”方法
3.工厂方法
如果某个方法是用频率较高,或者方法本身通用性较强,无需初始化类成员变量,则可以使用静态方法,那样方便,速度也快.
可以直接拿来就用的方法,就算是静态的.
肯定不涉及具体对象,因为静态方法内,是无法直接使用任何非静态成员的。
(1)制作工具类
(2)可以当作"作局"对象或方法来使用
静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别。
静态方法不用创建实例就可调用,比较简单从面向对象的角度上来说,在抉择使用实例化方法或静态方法时,应该根据是否该方法和实例化对象具有逻辑上的相关性,如果是就应该使用实例化对象 反之使用静态方法
不需要生成对象的
经常频繁使用的
工具类里的(如SqlHelper)
适当地使用static方法本身并没有什么,当一个人从来不懂使用多态、接口设计时,很自然地会滥用static方法。
个人理解在多个类中需要调用并且是与对象无关的方法可设为静态方法,方便调用。
所有对象共有的方法
再不关系到任何于特定对象相关的操作
比如学生的年龄就是学生的相关。
修改学生的年龄就不适合用静态方法。
一般来说,如果你的方法里没有用到this关键字,
那就适合用静态方法
通常通用的类中一些常用的方法可以设计为静态类
只要是没有用到类的状态信息,只从参数获取信息的都可以为静态的
可以实现某些特殊的设计模式:如Singleton
由于没有this指针,可以把某些系统API的回调函数以静态函数的形式封装到类的内部
可以封装某些算法,比如数学函数,如ln,sin,tan等等,这些函数本就没必要属于任何一个对象,所以从类上调用感觉更好
总之,从OOA/OOD的角度考虑,一切不需要实例化就可以有确定行为方式的函数都应该设计成静态的
静态方法与非静态方法最明显的区别就是如果某个方法是公共静态的,那么可以直接通过类名.方法名的方法来调用,而公共实例方法则需要事先实例化对象,然后才能调用。
  这些各种说法,基本上都是正确的。java里静态方法在什么情况下使用,好处是什 静态方法也称为类的方法,可以在不创建对象的情况下直接调用,
好处就是调用方便,而且其在内存中只有一份,无论多个线程调用该方法,都只有一个,所以间接上来说省了一部分内存开销,但其实也有不好就是类在加载时就为其分配内存空间而且不会回收,也就是这部分内存一直被占有。java中什么时候用静态 ,好处是什么? /*static(静态\修饰符) 1. static修饰成员变量 :如果有数据需要被共享给所有对象使用时,那么就可以使用static修饰。 静态成员变量的访问方式: 方式1: 可以使用对象进行访问。 格式: 对象.变量名。 方式二: 可以使用类名进行访问。 格式: 类名.变量名; 注意: 1. 非静态的成员变量只能使用对象进行访问,不能使用类名进行访问。 2. 千万不要为了方便访问数据而使用static修饰成员变量,只有成员变量的数据是真正需要被共享的时候 才使用static修饰。 static修饰成员变量的应用场景: 如果一个数据需要被所有对象共享使用的时候,这时候即可好实用static修饰。 2. static修饰成员函数:*/class Student{ static String name; //非静态成员变量 static String country = "中国"; //静态的成员变量 public Student(String name){ this.name = name; }}class Demo10 { public static void main(String[] args) { Student s1 = new Student("狗娃"); Student s2 = new Student("狗剩"); //System.out.println("国籍:"+ Student***untry); System.out.println("名字:"+ s1.name); System.out.println("名字:"+ s2.name); }}java里静态方法在什么情况下使用,好处是什么 转:
静态方法和实例方法的区别主要体现在两个方面:

在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。

静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。

下面几个例子展示了这一区别。

1、调用静态方法示例。

//-----------文件名hasStaticMethod.java,程序编号1-----------------public class hasStaticMethod{//定义一个静态方法public static void callMe(){System.out.println("This is a static method.");}}

下面这个程序使用两种形式来调用静态方法。
//-----------文件名invokeStaticMethod.java,2-----------------public class invokeStaticMethod{public static void main(String args[]){hasStaticMethod.callMe(); //不创建对象,直接调用静态方法 hasStaticMethod oa = new hasStaticMethod(); //创建一个对象oa.callMe(); //利用对象来调用静态方法}}
程序3.36两次调用静态方法,都是允许的,程序的输出如下:
This is a static method.This is a static method.

允许不创建对象而调用静态方法,是Java为了减少程序员调用某些常用方法时的麻烦,而允许程序员按照传统的C语言中使用函数的方式来使用方法。典型的例子是前面某些程序中使用"Math.ramdon()"来获取随机数。

2、静态方法访问成员变量示例。

//-----------文件名accessMember.java,程序编号3.37-----------------class accessMember{private static int sa; //定义一个静态成员变量private int ia; //定义一个实例成员变量//下面定义一个静态方法static void statMethod(){int i = 0; //正确,可以有自己的局部变量sa = 10; //正确,静态方法可以使用静态变量otherStat(); //正确,可以调用静态方法ia = 20; //错误,不能使用实例变量insMethod(); //错误,不能调用实例方法}static void otherStat(){} //下面定义一个实例方法 void insMethod(){int i = 0; //正确,可以有自己的局部变量sa = 15; //正确,可以使用静态变量ia = 30; //正确,可以使用实例变量statMethod(); //正确,可以调用静态方法}}

本例其实可以概括成一句话:静态方法只能访问静态成员,实例方法可以访问静态和实例成员。之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,而静态方法在执行时,并不一定存在对象。同样,因为实例方法可以访问实例成员变量,如果允许静态方法调用实例方法,将间接地允许它使用实例成员变量,所以它也不能调用实例方法。基于同样的道理,静态方法中也不能使用关键字this。

main()方法是一个典型的静态方法,它同样遵循一般静态方法的规则,所以它可以由系统在创建对象之前就调用。java静态类在什么时候使用 /*
static(静态\修饰符)

1. static修饰成员变量 :如果有数据需要被共享给所有对象使用时,那么就可以使用static修饰。

静态成员变量的访问方式:

方式1: 可以使用对象进行访问。
格式: 对象.变量名。

方式二: 可以使用类名进行访问。
格式: 类名.变量名;

注意:
1. 非静态的成员变量只能使用对象进行访问,不能使用类名进行访问。
2. 千万不要为了方便访问数据而使用static修饰成员变量,只有成员变量的数据是真正需要被共享的时候
才使用static修饰。

static修饰成员变量的应用场景: 如果一个数据需要被所有对象共享使用的时候,这时候即可好实用static修饰。


2. static修饰成员函数:

*/

class Student{

static String name; //非静态成员变量

static String country = "中国"; //静态的成员变量

public Student(String name){
this.name = name;
}
}


class Demo10 {


public static void main(String[] args)
{
Student s1 = new Student("狗娃");
Student s2 = new Student("狗剩");

//System.out.println("国籍:"+ Student***untry);
System.out.println("名字:"+ s1.name);
System.out.println("名字:"+ s2.name);
}
}什么时候要用静态方法? 静态方法何时使用
如果某些操作不依赖具体实例,那它就是静态的,反之如果某些操作是依赖具体实例的(例如访问一个特定会员的名称),那它就应该是实例化的。
静态方法不用new对象可以直接调用
1.与类相关与对象无关
2.不需要对象的“轻”方法
3.工厂方法
如果某个方法是用频率较高,或者方法本身通用性较强,无需初始化类成员变量,则可以使用静态方法,那样方便,速度也快.
可以直接拿来就用的方法,就算是静态的.
肯定不涉及具体对象,因为静态方法内,是无法直接使用任何非静态成员的。
(1)制作工具类
(2)可以当作"作局"对象或方法来使用
静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别。
静态方法不用创建实例就可调用,比较简单从面向对象的角度上来说,在抉择使用实例化方法或静态方法时,应该根据是否该方法和实例化对象具有逻辑上的相关性,如果是就应该使用实例化对象 反之使用静态方法
不需要生成对象的
经常频繁使用的
工具类里的(如SqlHelper)
适当地使用static方法本身并没有什么,当一个人从来不懂使用多态、接口设计时,很自然地会滥用static方法。
个人理解在多个类中需要调用并且是与对象无关的方法可设为静态方法,方便调用。
所有对象共有的方法
再不关系到任何于特定对象相关的操作
比如学生的年龄就是学生的相关。
修改学生的年龄就不适合用静态方法。
一般来说,如果你的方法里没有用到this关键字,
那就适合用静态方法
通常通用的类中一些常用的方法可以设计为静态类
只要是没有用到类的状态信息,只从参数获取信息的都可以为静态的
可以实现某些特殊的设计模式:如Singleton
由于没有this指针,可以把某些系统API的回调函数以静态函数的形式封装到类的内部
可以封装某些算法,比如数学函数,如ln,sin,tan等等,这些函数本就没必要属于任何一个对象,所以从类上调用感觉更好
总之,从OOA/OOD的角度考虑,一切不需要实例化就可以有确定行为方式的函数都应该设计成静态的
静态方法与非静态方法最明显的区别就是如果某个方法是公共静态的,那么可以直接通过类名.方法名的方法来调用,而公共实例方法则需要事先实例化对象,然后才能调用。
  这些各种说法,基本上都是正确的。静态变量与非静态变量的区别 1、存储位置不同 静态变量:存储在全局数据区(静态数据区)。 非静态变量叫动态变量:存储在内存出栈数据区。 2、生命期不同 动态变量:根据你定义的位置确定,比如你在一个函数中定义的,那么超出该函数范围变量将失效。 静态变量:程序结束时才释放。 3、作用域不同 动态变量:同样的要根据你定义的位置才能确定,和第二点的一样。 静态变量:当前文件中有效。 扩展资料; 静态变量的作用; 1、对于静态全局变量,源文件静态声明的文件级变量和函数的作用域仅限于文件(仅在文件中可见),即内部连接,因此可以用来限制变量的作用域。 2、对于静态局部变量,虽然函数内静态声明的变量范围与自动局部变量的范围相同(即范围仅在函数内),但存储空间是通过静态分配而不是默认的自动分配获得的。 所以存储空间在不同的区域是不同的(一般来说,静态分配时在编译时在程序数据段中划分存储空间,一次性分配在整个过程中是有效的。而在自动分配时,存储空间是在调用堆栈上分配的,只分配和释放在调用期间),两个调用之间的变量值总是一致的。必须注意,静态局部变量只能初始化一次,这是由编译器保证的。 3、对于静态成员变量,在C++中,类定义中静态声明的成员变量属于类变量,即它们在所有类实例**享,相反是过程变量。 参考资料来源;百度百科——静态变量 百度百科——动态变量 什么时候用静态方法static - PHP进阶讨论 静态方法就是隶属于一个类的函数,为什么希望让这个函数隶属于类,一般有两种情况:1、函数的名字太常规,以至于可能与其它独立函数产生命名冲突,则你把它作为类的静态方法,可以变相起到封入命名空间的效果。比如你想为某个类定义一个特别版的setcookie();2、当一个函数希望访问某个类的私有成员变量时(private 或 protected),显然在通常情况下,它作为外部独立函数是访问不到的。把它定义为那个类的静态方法,就可以作为类的成员函数轻松访问那些私有成员变量了。另外对 6 楼做一个补充:静态成员方法也有访问级别,如果定义为了 private 或 protected,则外部是无法作为普通函数直接调用的。哈哈社推荐内容:太极熊猫2甜心死神装备怎么搭配 甜心死神出装攻略减肥期间能吃烤红薯吗?四川内所有的体育学院有哪些?求你们都说说初中数学补习机构哪家比较好?石榴吃石榴上火吗武汉哪有正版的板裤卖啊,卡尔卡尼,FOX,犀牛都可以?秋葵焯水多久才熟Java中构造方法与主方法的关系?中秋月饼放在冰箱保存保质期可以放多久篮球队中的25号是谁抖音塞班什么意思?土鸡蛋的颜色一定是很黄的吗