请问java什么时候用静态方法 [问题点数:40分,结帖人josephliver]

一键查看最优答案

确认一键查看最优答案?
本功能为VIP专享,开通VIP获取答案速率将提升10倍哦!
Bbs1
本版专家分:0
结帖率 65.38%
Bbs9
本版专家分:51062
Blank
蓝花 2013年3月 Java大版内专家分月排行榜第三
2013年2月 Java大版内专家分月排行榜第三
2012年11月 Java大版内专家分月排行榜第三
2008年3月 Java大版内专家分月排行榜第三
Bbs6
本版专家分:8391
Blank
红花 2015年5月 Java大版内专家分月排行榜第一
Blank
黄花 2015年7月 Java大版内专家分月排行榜第二
2015年4月 Java大版内专家分月排行榜第二
Blank
蓝花 2015年3月 Java大版内专家分月排行榜第三
Bbs5
本版专家分:4160
Blank
蓝花 2015年11月 Java大版内专家分月排行榜第三
2015年10月 Java大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs2
本版专家分:479
int main与void main的区别

正确而且标准的方式应该是int main()或者int main(int argc, char* argv[])

int main和int main(void)区别

在c++中int main()和int main(void)是等效的,但在c中让括号空着代表编译器对是否接受参数保持沉默。在c语言中main()省略返回类型也就相当说明返回类型为int型,不过这种用法

void main 和 int main的区别

main是一切(控制台)程序都必须有的一个入口函数 main函数是否有返回值在绝大多数情况下无关紧要 因为main函数体内的代码一旦运行完毕 这个程序就结束了 int main() 主函数返回的值是0,即 return 0;这个返回值不是显示在屏幕上的,而是函数的一部分。 void main是写入,int main是定义读取你要求的东西。 void的意思是没有返回值,int的意思是返回...

int main()和void main()的区别

#include

静态方法与非静态方法的区别

区别就是静态只能被静态调用,而非静态可以调用静态和非静态。

【Java】静态的特点以及注意事项?

上一篇文章我们讲了静态和非静态的区别,这里我们对静态做个补充 1、静态在程序编译一次后,其值就会一直存放在方法区中,直至线程结束。并且每次调用对象的时候,直接可以通过类名的加点的方式引出,而不必开辟新的内存空间,这样节省资源 2、静态成员变量在整个对象中都是通用的,也就是说在一开始就初始化了结果 3、静态函数不能访问非静态成员变量,只能访问静态变量 4、<em>静态方法</em>不可以定义this.super关键字...

详解Java中静态方法

定义: 在类中使用static修饰的<em>静态方法</em>会随着类的定义而被分配和装载入内存中;而非<em>静态方法</em>属于对象的具体实例,只有在类的对象创建时在对象的内存中才有这个方法的代码段。 注意: 非<em>静态方法</em>既可以访问静态数据成员 又可以访问非静态数据成员,而<em>静态方法</em>只能访问静态数据成员; 非<em>静态方法</em>既可以访问<em>静态方法</em>又可以访问非<em>静态方法</em>,而<em>静态方法</em>只能访问静态数据方法。 原因: 因为<em>静态方法</em>和静态数据成员会随着类...

Java之静态方法(static method)那点事

1、总结起来,越来约有意思,经常用的东东,什么是<em>静态方法</em>? 答:<em>静态方法</em>也称为类方法,是属于类的,这里要注意。方法返回值前面加上static的方法,就是<em>静态方法</em>。 2、看看下面吧,加了static的就是<em>静态方法</em>啦 public class ScoreManager { public static SharedPreferences preferences; stati...

java中静态相关问题

转自 http://www.cnblogs.com/chuijingjing/p/9452893.html Java 静态对象 static 什么是静态变量 大家都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立。 然而在某些时候,我们更希望该类所有的对象共享同一个成员。此时就是&amp;nbsp;static 大显身手的时候了!! Java 中被 static ...

int main(void)和void main()的区别

#include&lt;stdio.h&gt; void main(){ } #include&lt;stdio.h&gt; int main(void){ return 0; } void main() 这么定义只是说明main函数没有返回值 int main(void)和int main()是一样的,括号里没有东西就相当于void, 只是说明main函数有一个int类型的返回值 ...

C语言中int main(void)与int main()的区别

int main(void) 指此函数的参数为空,不能传入参数,若输入参数则会出错,但必须要有返回值,如return 0;。 int main()可以传入参数,程序可以不需要返回值。 但在c++中二者没有区别。 ...

void main与int main之间的区别

void main与int main之间的区别是什么?”这是一个常见的问题。我们来探讨一下这个问题,并深入研究一些有关main()函数不同版本的更多的东西。   C与C++在main()函数方面的标准有所不同,所以我们要分开讨论。   对于C语言:   在C89标准中,main() 的形式是可以接受的,当然使用如下的C99标准更明智,因为在这个标准中只有如下格式才能被接受:  

辨析int main()、int main(void)、void main(void)、main()和main(void)、int main() 和 void main()

//--------------------------------------------------标准的main函数格式为:int main(int argc, char *argv[]); /*即返回值为整型,带两个参数,argc为命令行参数的个数,argv为指针数组,                                                  前argc个指针为参数...

函数 void main 与 int main 的区别

c语言中的void main和 int main  其返回值不同 标准的c语言要求main函数的返回值为int,该值是执行程序时,告知主调进程程序运行结果的一个渠道 标准的main函数格式为 int main(int argc,char*aggv[]); 及返回值为整型,带两个参数,argc为命令行参数的个数,argv为指针数组,前argc个指针为参数列表,最后一个值为null 在int

java静态方法的作用

<em>静态方法</em>,系统会为<em>静态方法</em>分配一个固定的内存空间。而普通方法,会随着对象的调用而加载,当使用完毕,会自动释放掉空间。普通方法的好处是,动态规划了内存空间的使用,节省内存资源。<em>静态方法</em>,方便,运行快,而如果全部方法都用<em>静态方法</em>,那么每个方法都要有一个固定的空间,这样的话太占内存。 因而也就解释了,为什么<em>静态方法</em>可以直接被类名调用,而不需要用对象调用, 因为他有固定空间,随类的加载而加载。 静态方...

java静态方法

<em>静态方法</em>(全局方法)不能访问this(当前对象)它和类没有关系,会有逻辑错误,当调用<em>静态方法</em>的时候不需要创建对象 可以直接为boolean result = MyTest.isPrime();直接访问类中的方法 <em>静态方法</em>一般是一个单纯的算法,与上下文无关,可以直接拷贝到任何地方编译都可以通过,就是和类没关系 转载于:https://www.cnblogs.com/cuteCoder...

java中的静态类

<em>java</em>中的静态类 在Java世界里,经常被提到静态这个概念,static作为静态成员变量和成员函数的修饰符,意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见。最近一个项目里频繁用到static修饰的内部类,再读了一下《Effective Java》才明白为什么会用static来修饰一个内部类也就是本文的中心——静态类。 如果一个...

JAVA的静态变量、静态方法、静态类

静态变量和<em>静态方法</em>都属于静态对象,它与非静态对象的差别需要做个说明。 (1)Java静态对象和非静态对象有什么区别?       比对如下:                                          静态对象                                                        非静态对象      拥有属性:

Java 什么时候该用static

static 是静态  你不要理解为静态变量因为他不仅仅可以修饰变量还可以修饰 方法 例如:private static void test(){}   分不清的话我告诉你 那东西并不常用。举例:比如 现在有个persion类  类里面有name属性 和 country=“cn”属性 里面有个show方法  这时候你要用这个类 那你自然要new 他 Persion p1 = new Perso

Java中典型静态方法的实现

在许多语言中,<em>静态方法</em>被称为函数,因为他们和数学函数的性质类似。<em>静态方法</em>是一组在被调用时会被顺序执行的语句。用static将这类方法区别开来。 典型<em>静态方法</em>的实现 package com.example.demo.test; /** * @Author: try one * @Description: * @Date:Create:in 2019/1/16 18:47 * @Mod...

Java中的静态方法是什么

<em>静态方法</em>是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象再使用该方法。 例如,我创建一个类,里面有一个<em>静态方法</em>: class Test{ public static int z(int xx,int yy){ return xx+yy; } public int zz(int xx,int yy){ return xx+yy; } } 然后在含有main方法的

java静态方法何时使用?

<em>java</em><em>静态方法</em>使用有两种: 1、静态变量 2、静态函数 静态变量:当该变量的值不

java静态分配和动态分配

1.方法调用 先来说说<em>java</em>方法的调用,方法的调用不等于方法执行,方法调用阶段唯一的任务是确定被调用方法的版本(即调用哪个方法,不是唯一的,确定一个“更加合适”的版本),不涉及方法内部的具体运行过程。 我们都是知道<em>java</em>文件都需要编译成class文件,而一切方法调用在class文件里存储的都是符号引用,而不是方法的实际运行时内存布局的入口地址(相当于直接引用)。在类加载的解析阶段,会将其中

静态方法和非静态方法的区别

  1.<em>静态方法</em>不需要类实例化就可以调用,反之非<em>静态方法</em>需要实例化后才能调用;   2.<em>静态方法</em>只能访问静态成员和方法,非<em>静态方法</em>都可以访问;   3.<em>静态方法</em>不能标记为override,导致派生类

何时以及如何正确使用静态方法

要知道何时以及如何正确使用<em>静态方法</em>,首先要搞清楚<em>静态方法</em>与实例方法的区别。静态(static)本身说明该行为是无状态的,无需实例化,调用时无需再格外分配内存来存放实例。所...

Java 静态变量,静态方法,静态常量(java static 关键字)

Java 静态变量,<em>静态方法</em>,静态常量 就是变量 ,方法,常量前面添加了static 关键字 为什么要使用静态的呢 有时候在处理问题时会需要两个类在同一个内存区域共享一个数据, 不如现在 Main 类中用到一个 NAME常量 而 有一个Book类中也用到了NAME常量,这时就没有必要在2个类中都创建NAME常量了 为了解决这个问题 我们 可以把这个NAME常量设置为static ...

Java内存的一点理解, 静态方法和实例方法的区别及使用场景

注意:变量指基本数据类型非对象,局部变量不能被静态修饰 1、(静态)成员变量存放在data segment区(数据区),字符串常量也存放在该区 2、非静态变量,new出来的对象存放在堆内存,所有局部变量和引用地址存放在栈内存 3、方法(包括<em>静态方法</em>)存放在code segment(方法块),存放代码片段,且只存放一次public class Cat { //private static

Java之静态成员

前言        在Java中声明类的成员变量和方法时,可以使用static关键字把成员声明为静态成员。静态变量也叫类变量,非静态变量也叫实例变量;<em>静态方法</em>也叫类方法,非<em>静态方法</em>也叫实例方法。静态成员最主要的特点是它不属于任何一个类的对象,它不保存在任意一个对象的内存空间中,而是保存在类的公共区域中,所以任何一个对象都可以直接访问该类的静态成员,都能获得相同的数据值,修改时,也在类的公共...

静态方法和实例方法

&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;&lt;/title&gt; &lt;script&gt; // 1.定义一个类 function AClass() { } ...

java静态方法调用

首先你要知道<em>java</em>中<em>静态方法</em>调用有哪几种? 例如一个<em>静态方法</em>如下:   (1) 通过类名直接调用 调用格式: 类名.方法名 Test.aa()  前提是这个<em>静态方法</em>是要有返回值!这个<em>静态方法</em>是公共的(public),本类调用的话则不需要一定公共的! (2) 通过类的实例对象去调用 调用格式: 对象名.方法名 Test t = new Test(); t.aa(); 注...

Java中static静态方法方法和普通方法的区别

Java中static<em>静态方法</em>和普通方法的区别 在类中使用static修饰的<em>静态方法</em>会随着类的定义而被分配和装载入内存中;而非<em>静态方法</em>属于对象的具体实例,只有在类的对象创建时在对象的内存中才有这个方法的代码段。 注意:非<em>静态方法</em>既可以访问静态数据成员 又可以访问非静态数据成员,而<em>静态方法</em>只能访问静态数据成员; 非<em>静态方法</em>既可以访问<em>静态方法</em>又可以访问非<em>静态方法</em>,而<em>静态方法</em>只能访问静态数据方法。 ...

静态方法

public int age; class2() { int age; age = 3; this.age = 6; age = 2; } public static void main(String[] args) { class2 c=new class2(); System.out.println(c.age); ...

Java:何时使用静态方法

我想知道何时使用<em>静态方法</em>? 假设我有一个带有几个getter和setter的类,一个或两个方法,并且我希望这些方法只能在该类的实例对象上调用。 这是否意味着我应该使用<em>静态方法</em>? 例如

JAVA中什么时候定义静态 的练习

/*  * 什么时候使用静态?  * 要从两方面下手:  * 因为静态修饰的内容有成员变量和成员函数。  * 什么时候定义静态变量(类变量)呢?  * 当对象中出现共享数据时,该数据被静态所修饰。  * 对象中的特有数据要定义成非静态存在于堆内存中  *   *   * 什么时候定义静态函数呢?  * 当功能内部没有访问到非静态数据(创建对象的目的是为了封装数据)  * 那么

java中类加载与静态变量、静态方法与静态代码块详解与初始化顺序

我们知道<em>java</em>中类的生命周期为装载、连接、初始化、使用和卸载五个过程,如下图所示:1.加载     我们编写一个<em>java</em>的源文件,经过编译后生成一个后缀名为.class的文件,这结合四字节码文件,<em>java</em>虚拟机就识别这种文件,<em>java</em>的生命周期就是class文件从加载到消亡的过程。 关于加载,其实,就是将源文件的class文件找到类的信息将其加载到方法区中,然后在堆区中实例化一个<em>java</em>.lan...

java静态方法和普通方法有什么区别

在<em>java</em>中调用一个<em>静态方法</em>和调用一个普通方法有什么区别吗?(非要30个字)

Java中静态跟非静态的区别总结

静态变量跟实例变量的区别,<em>静态方法</em>跟实例方法的区别

成员变量

所有类的成员变量可以通过this来引用。成员变量又分成俩中类型:实例变量和静态变量。静态变量在定义时要使用static关键字。   这里的静态,指以static关键字修饰的,包括类,方法,块,字段。 非静态,指没有用static 修饰的。 静态有一些特点: 1.全局唯一,任何一次的修改都是全局性的影响 2.只加载一次,优先于非静态 3.使用方式上不依赖于实例对象。 4.生命周期属于

java中什么时候使用静态static,工具类的创建

/* 什么时候使用静态? 要从两方面下手: 因为静态修饰的内容有成员变量和函数 什么时候定义静态的变量(类变量)呢? 当对象中出现共享数据时,该数据被静态所修饰 对象中的特有数据要定义成非静态存在于堆内存中 什么时候定义静态函数呢? 当功能内部没有访问到非静态数据(对象的特有数据) 那么该功能可以定义成静态的 */ /* 静态的应用: 每一个应用程序中都有共性的功能, 可以将这

C# 静态方法和实例方法

此为读书笔记,原创。类 & 实例 <em>静态方法</em> & 实例方法 静态成员:静态成员变量和<em>静态方法</em>。public class MyClass { // 定义类的静态成员变量 public int number; // 定义类的实例成员变量 public static string owner; // 定义类的<em>静态方法</em> public static void S

Java 静态方法/变量,非静态方法/变量的区别

静态/普通 方法/字段的写法 大家应该都明白<em>静态方法</em>/字段比普通方法/字段的写法要多一个static关键字,简单写下他们的写法吧,了解的可以直接略过 class Test{ // 静态变量 public static int id = 1; // 普通变量 public int usualId = 2; // 静态常量 public static final int finalNext...

Java中为什么静态方法不能被重写?为什么静态方法不能隐藏实例方法?

问题描述Java中为什么<em>静态方法</em>不能被重写?为什么<em>静态方法</em>不能隐藏实例方法?诸如此类。前期准备首先理解重写的意思,重写就是子类中对父类的实例方法进行重新定义功能,且返回类型、方法名以及参数列表保持一致,且对重写方法的调用主要看实际类型。实际类型如果实现了该方法则直接调用该方法,如果没有实现,则在继承关系中从低到高搜索有无实现。那么问题又来了,为什么只能对实例方法才能重写?我头好晕,这两个问题在这互相

classmethod类方法跟staticmethod静态方法,看这一篇就够了

不浪费时间,直接先上结论: 1.使用@staticmethod目的之一是为了增加可读性,不需要参数self的方法都可以加上@staticmethod增加可读性,因为,这个方法是类级别的,在调用时要使用类名。 2.使用@classmethod是为了处理一些__init__处理不了的赋值问题(一般是参数不对应),你可以当成,有第二,第三个__init__方法,当然它要通过类名显示调用 ...

什么时候用static合适?

有一个HTMLFilter类 如果我把doFilter做成static 就可以不new对象来用,很方便 但这样就没法给它制造一个接口 我想问一下,static什么时候用比较好?

Java虚拟机JVM学习07 类的卸载机制

  Java虚拟机JVM学习07 类的卸载机制   类的生命周期   当Sample类被加载、连接和初始化后,它的生命周期就开始了。   当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期,Sample类在方法区内的数据也会被卸载,从而结束Sample类的生命周期。   由此可见,一个类何时结束生命周期,取决于代表它的Class对象何时结束生命...

synchronized修饰静态方法和普通方法的区别

synchronized具有同步功能,是一种互斥锁,锁的是对象,synchronized修饰普通方法时,锁对象是this对象。修饰<em>静态方法</em>时,锁对象是字节码文件对象。 synchronized可以用来修饰代码块和方法。 synchronized可以保证原子性,有序性,可见性。 synchronized的缺点: 1、synchronized底层是由jvm实现,因此不能手动控制锁的释放,不如lock锁...

静态方法和非静态方法区别?

<em>静态方法</em>static(类方法)和 非<em>静态方法</em>(实例方法)的区别: 方法我们主要分为三种: 1.构造方法 2.非<em>静态方法</em>(普通方法/实例方法) 3.<em>静态方法</em>(类方法) 对于1(补充一下):构造方法分为无参构造方法 和 有参构造方法。另外 这两个方法,涉及到了方法重载(小伙伴可以自己去了解方法重载、方法重写、方法重构区别,当然我其他文章也会写相关的介绍)。 对于2:<em>静态方法</em>,是使用static关键字修...

java静态方法中为什么不能使用this、super和直接调用非静态方法

这个要从<em>java</em>的内存机制去分析,首先当你New 一个对象的时候,并不是先在堆中为对象开辟内存空间,而是先将类中的<em>静态方法</em>(带有static修饰的静态函数)的代码加载到一个叫做方法区的地方,然后再在堆内存中创建对象。所以说<em>静态方法</em>会随着类的加载而被加载。当你new一个对象时,该对象存在于对内存中,this关键字一般指该对象,但是如果没有new对象,而是通过类名调用该类的<em>静态方法</em>也可以。

java静态方法为什么不可以调用非静态方法

重点:static关键字的修饰成员变量,成员方法和对象无关。 static修饰的内容是随着类的加载而加载的,且只加载一次。 它存储于一块固定的内存区域(静态区),所以,可以直接被类名调用。 它优先于对象存在,所以,可以被所有对象共享。     static可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单是属 于某个对象的。也就是说,既然属于类,就可以不靠创建对象来调用了...

Java中static方法和普通方法的区别

在类中使用static修饰的<em>静态方法</em>会随着类的定义而被分配和装载入内存中;而非<em>静态方法</em>属于对象的具体实例,只有在类的对象创建时在对象的内存中才有这个方法的代码段。 注意:非<em>静态方法</em>既可以访问静态数据成员 又可以访问非静态数据成员,而<em>静态方法</em>只能访问静态数据成员; 非<em>静态方法</em>既可以访问<em>静态方法</em>又可以访问非<em>静态方法</em>,而<em>静态方法</em>只能访问静态数据方法。 原因:因为

静态初始化

1. 静态代码块 一个类中可以使用不包含在任何方法体中的静态代码块(static block),当类被载入时,静态代码块被执行,且只被执行一次,静态代码块经常用来进行类属性的初始化。 2. static块通常用于初始化static(类)属性 3. 非静态代码块 类似于的不带参数的构造器,每次都被执行。 4. 参考资料 static静态代码块与非静态代码块 + 构造函数 博...

静态方法和非静态方法的区别JAVA

最近在写JAVA程序的时候报了一个错。    No enclosing instance of type FileRead is accessible. Must qualify the allocation with an enclosing instance of type FileRead。翻译一下,大致意思就是:无法访问FileRead类型的封闭实例。必须使用FileRead类型的封闭实例...

java静态方法中调用非静态方法

<em>java</em>初学者经常会遇到的问题:无法从静态上下文中引用非静态变量 ?non-static variable mainframe cannot be referenced from a static context 即在<em>静态方法</em>中不能引用非静态变量 为什么? 因为我们知道静态的方法可以在没有创建实例时使用,而申明为非静态的成员变量是一个对象属性,它只有在对象存在时引用,因此如果在对象未创建实...

java静态方法返回值问题

public static ArrayList createTrajectory(String filename) { File file = new File(filenam

静态方法何时使用

如果某些操作不依赖具体实例,那它就是静态的,反之如果某些操作是依赖具体实例的(例如访问一个特定会员的名称),那它就应该是实例化的。 <em>静态方法</em>不用new对象可以直接调用 1.与类相关与对象无关  2.不需要对象的“轻”方法  3.工厂方法 如果某个方法是用频率较高,或者方法本身通用性较强,无需初始化类成员变量,则可以使用<em>静态方法</em>,那样方便,速度也快. 可以直接拿来就用的方法,就

Java静态引入

为什么Java需要静态引入? 静态引入是什么?

java接口中静态方法到底干什么用的?

<em>java</em>核心技术一书提到过提到过<em>java</em>接口允许增加<em>静态方法</em>,但举例并不是很清楚,有没有大神能说明一下,非常感谢

Java 静态类、静态方法和静态变量

转载自Java 静态类、<em>静态方法</em>和静态变量Java 静态类、<em>静态方法</em>和静态变量static 是Java中的一个关键字,我们不能声明普通外层类或者包为静态的。static用于下面四种情况。1.静态变量:我们可以将类级别的变量声明为static。静态变量是属于类的,而不是属于类创建的对象或实例。因为静态变量被类的所有实例共用,所以非线程安全的。通常静态变量还和关键字final一起用,作为所有对象共用的资

JAVA中静态的使用及注意方法

1.static是一个修饰符,用来修饰成员被所有的对象所共享。 例如:类Person,country变量被static修饰,所以country能够被由该类创建的所有的对象所共享。在代码中,country的值本来是cn,后因p2更改了共享变量country的值,所以在两个对象中的值都发生改变 class StaticDemo{ public static void main(String

【Java基础】静态类

前几天在交流IOC的时候,提到了静态类的写法,我的一个误区静态类 长这个样子: public static class StaticClass{ //TODO }      然鹅,“事与愿违”,静态类直接在class前加入"static"在Java中是一种错误的写法,在北京工作的时候由于写过工具类就天真的认为<em>java</em>的世界中也是酱紫,那就正好整理下在<em>java</em>语言中静态类如何玩吧。

静态方法

-

java静态块与静态方法

<em>java</em>中类加载与静态变量、<em>静态方法</em>与静态代码块详解与初始化顺序 1.首先要说明的一点就是<em>静态方法</em>并不是静态块,因为静态块有一个特点,就是它只能定义在类里面,不能定义在方法里面。 2.静态代码块和静态函数的关系: (1)静态代码块:它是懒加载 (2)静态函数:需要在项目启动时就初始化,在不创建对象的情况下,也能被其它程序调用。 (3)注意:静态变量是属于整个类的变量而不是属于某个对象的,注意不能...

静态方法调用spring注入的service类问题

问题:1.在<em>静态方法</em>中调用@Autowired或@Resource注解的Spring注入的service的方法问题。 分析:1.首先,<em>静态方法</em>中不可调用非<em>静态方法</em>,这与JVM加载类的机制有关。      2.spring自动注入,使用spring框架的很常用如果在<em>静态方法</em>中调用此注入类的方法,发现注入为'null';原因不是spring未注入,而是被static方法给'清空'了。   解...

java中什么时候该用static修饰方法?有什么好处或者坏处?

当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static。用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用 比如 person这个类里面有一个方法public static add(){} 那么可以直接用person类调用 person.add(); 当然也可以用下面的方法先出一个对象在调用也是可以,如果这个方法前面没有static ...

JAVA中的静态类

提到JAVA中的静态类,就要提到static这个修饰符,书中说明static作为 静态成员变量 和 成员函数(类中的方法) 的修饰符,注意两个字是“成员”。意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见。也就是静态变量只有一份拷贝!这里就很明确了,如果是一个类被定义为static,那这个类只有一种可能就是静态内部类!最最简单的例子: I...

什么时候用静态方法

从内存占用上来说,静态的虽不需要实例化,但一直占用内存,所以访问速度较快,所以静态类不能太大太占资源。 而非静态类只有被实例化后才占内存,需要“调入”内存后才能执行。相对较慢。 ...

Java基础之为什么在一个静态方法里调用非静态成员变量是非法的

首先你要明白什么是静态变量,用static变量修饰意味着什么。 静态变量: Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问(推荐),也可以使用对象名进行访问(不推荐,这样还有和意义和特殊性可言呢)。 public class A { private static String stat...

python中的静态方法和类方法有什么根本的不同?

请教<em>静态方法</em>和类方法有什么根本的不同?因为它们实在太相似了 #coding:utf-8 class A(object): "This ia A Class" @staticmethod def Foo

关于java中静态函数的使用

最近看到一份代码,定义class A和class B,如下: class A { public test(){}; } class B{ public static mytest(A a) { a.t

Java的静态方法里是不能调用非静态方法的,但为什么可以调用构造方法?

Java的<em>静态方法</em>里是不能调用非<em>静态方法</em>的,但为什么可以调用构造方法?

Java静态方法与非静态方法的泛型

Java中,非<em>静态方法</em>可以使用类的泛型,也可以定义自己的泛型;<em>静态方法</em>由于随着类的加载而加载,不能访问类的泛型(因为在创建对象的时候才确定),因此必须定义自己的泛型类型。 详细请参考:https://blog.csdn.net/weixin_33836223/article/details/86443714 ...

Java静态方法和静态属性

被static修饰的属性和方法的特点 1、先于对象存在 2、在类内存中永远只有一份 3、被static修饰的方法中,只能调用<em>静态方法</em>或静态属性,不能调用非<em>静态方法</em>和非静态属性 被static修饰的属性称为静态属性,也称为类属性,这个属性是从属类的,而不是对象的 被static修饰的方法称为<em>静态方法</em>,也称为类方法 被static修饰的属性和方法直接通过类调用 刚...

静态属性和静态方法是否可以被继承?是否可以被重写?以及原因?

1.静态属性和<em>静态方法</em>是否可以被继承?是否可以被重写? 1)先说是否可以被继承 public class One { //静态属性和<em>静态方法</em>是否可以被继承?是否可以被重写?以及原因? public static String one_1 = &quot;one&quot;; public static void oneFn() { System.out.println...

Java中关于静态方法的理解

如果一个方法,和对象没有任何关系(方法中没有使用对象中的参数等) 这样的方法就可以称为<em>静态方法</em>。 <em>静态方法</em>就可以直接用类名来调用,不需要new 对象、调方法。 ...

Java——静态方法使用注意事项

静态使用注意事项: 1,<em>静态方法</em>只能访问静态成员。 非<em>静态方法</em>既可以访问静态也可以访问非静态。 2,<em>静态方法</em>中不可以定义this,super关键字。 因为静态优先于对象存在。所以<em>静态方法</em>中不可以出现this。 3,主函数是<em>静态方法</em>。 class StaticDemo { public static void main(String[] args) //3 { show...

Java静态类

在Java世界里,经常被提到静态这个概念,static作为静态成员变量和成员函数的修饰符,意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见。最近一个项目里频繁用到static修饰的内部类,再读了一下《Effective Java》才明白为什么会用static来修饰一个内部类也就是本文的中心——静态类。 如果一个类要被声明为sta...

java静态与非静态区别

静态有一些特点: 1.全局唯一,任何一次的修改都是全局性的影响 2.只加载一次,优先于非静态 3.使用方式上不依赖于实例对象,通过类名.即可调用。 4.生命周期属于类级别,从JVM 加载开始到JVM卸载结束。  ...

JAVA中静态方法和非静态方法的区别

<em>静态方法</em>(static method) 与静态成员变量一样,属于类本身,在类装载的时候被装载到内存中,不自动进行销毁,会一直存在内存中,直到JVM关闭; 非<em>静态方法</em>(non-static method) 又称实例化方法,属于实例对象,实例化之后才会分配内存,必须通过类的实例来引用,当实例对象被JVM回收之后,也跟着消失 <em>静态方法</em>和实例方法的区别  1.生命周期 <em>静态方法</em>的生命...

类方法、静态方法、属性

类方法:@classmethod添加classmethod的方法,即类方法,无法访问实例中的变量。 例:class Animal(object): def __init__(self, name): self.name = name @classmethod def talk(self): print('%s is talking...' %

Python 实例方法、类方法和静态方法

在 Python 中,实例方法(instance method),类方法(class method)与<em>静态方法</em>(static method)经常容易混淆。本文通过代码例子来说明它们的区别。 实例方法 Python 的实例方法用得最多,也最常见。我们先来看 Python 的实例方法。 class Kls(object): def __init__(self, data): ...

Java:final、static关键字 各自详解及两者的结合使用

一 final关键字 1) 关于final的重要知识点 final关键字可以用于成员变量、本地变量、方法以及类。 final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误。 你不能够对final变量再次赋值。 本地变量必须在声明时赋值。 在匿...

Java中什么时候用 static修饰的方法 有什么好处和坏处

1.当一个方法需要初始化加载或者经常被调用的时候可以加上 static 2.被 static 修饰的方法可以用类名直接调用,不用实例化一个对象后才调用 3.比如 person这个类里有一个方法 public static add () {} 那么可以使用 person.add();调用,当然也可以创建对象调用 比如 person p= new person(); p.add();调用 类...

【Java】静态和非静态的区别

还是老生常谈JVM内存模型的问题,也是我一直深究(浅显)的问题,这里我们单一说一下用静态修饰的内存,前面的篇章有具体讲过jvm内存分为:方法区、堆、栈、程序计数器 但是目前我们只要认识的是方法区, 堆和栈 方法区:是各个线程共享的区域,存放类信息/常量/静态变量 栈:其实每个线程都会分配一个栈,其生命周期与线程一样,其执行一个方法就会生成一个栈帧,其中栈帧真包含了方法中的局部变量. 堆:所有类的实...

子类是否可以继承父类的静态方法,是否可以重写父类的静态方法呈现多态性?

重新掰下基础知识 方法的重写规则 参数列表必须完全与被重写方法的相同; 返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(<em>java</em>5 及更早版本返回类型要一样,<em>java</em>7 及更高版本可以不同); 访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected。 父类的成员方法只能被它...

Java中静态方法和非静态方法的区别

<em>静态方法</em>和非<em>静态方法</em>的区别总结如下: 1、<em>静态方法</em>属于类所有,类实例化前即可使用; 2、非<em>静态方法</em>可以访问类中的任何成员,<em>静态方法</em>只能访问类中的静态成员; 3、因为<em>静态方法</em>在类实例化前就可以使用,而类中的非静态变量必须在实例化之后才能分配内存; 4、static内部只能出现static变量和其他static方法!而且static方法中还不能使用this等关键字,因为它是属于整个类; 5

静态变量和全局变量的区别

变量一般有两个属性,一个是作用域,一个是内存分布空间,静态变量的内存是分配在全局区(静态区)的, 全局变量与全局静态变量的区别: (1)若程序由一个源文件构成时,全局变量与全局静态变量没有区别。 (2)若程序由多个源文件构成时,全局变量与全局静态变量不同:全局静态变量使得该变量成为定义该变量的源文件所独享,  即:全局静态变量对组成该程序的其它源文件是无效的。 静态全局变

java静态方法与非静态方法

在<em>java</em>中public void与public static void有什么区别 ? public void 修饰是非<em>静态方法</em>,该类方法属于对象,在对象初始化(new Object())后才能被调用;public static void 修饰是<em>静态方法</em>,属于类,使用类名.方法名直接调用。 非<em>静态方法</em>之间可以互相调用,非<em>静态方法</em>也可以调用<em>静态方法</em>;但是<em>静态方法</em>不可以直接调用(未初始化的)非<em>静态方法</em>...

java this 3种常见用法 详解

this 关键字 1.区分成员变量和局部变量 2.代表当前对象 3.构造器之间调用

Java中堆、栈,静态方法和非静态方法的速度问题

一、堆和栈的速度性能分析 堆和栈是JVM内存模型中的2个重要组成部分,自己很早以前也总结过堆和栈的区别,基本都是从存储内容,存储空间大小,存储速度这几个方面来理解的,但是关于堆和栈的存储速度,只知道堆存储速度慢,栈存储速度快,至于为什么堆比栈的存取速度慢,并没有特别深入的研究,从网上也找了很多资料,但很多理由并不太认同,这里也列举一些,并结合自己的理解来分析,如果不正...

noip2014普及组测试数据(非官方)下载

noip2014普及组测试数据,民间数据,先用着。 相关下载链接:[url=//download.csdn.net/download/qq_23220465/8149943?utm_source=bbsseo]//download.csdn.net/download/qq_23220465/8149943?utm_source=bbsseo[/url]

Programming in Lua 3rd(mobi)下载

不多说,学习Lua必备,Roberto Ierusalimschy大作,英文版,mobi格式,供kindle人学习使用。 相关下载链接:[url=//download.csdn.net/download/sandypatience/8523837?utm_source=bbsseo]//download.csdn.net/download/sandypatience/8523837?utm_source=bbsseo[/url]

前端开发腾讯-笔试下载

腾讯前端开发工程师笔试文档,腾讯前端开发工程师笔试文档 相关下载链接:[url=//download.csdn.net/download/szdong168/10524713?utm_source=bbsseo]//download.csdn.net/download/szdong168/10524713?utm_source=bbsseo[/url]

我们是很有底线的