导航:首页 > 安装方法 > Java静态方法放在哪里的

Java静态方法放在哪里的

发布时间:2022-01-21 01:13:06

❶ JAVA中使用静态方法

编程时我们心里一定要清楚静态方法和类的非静态方法方法的区别:
最根本区别从编译角度来说吧:
1)静态(static)方法是编译时直接加载加载到内存中(离cpu最近的一块内存区域也称为堆栈),比如程序的public static main(args []){}方法,你能实例话吗?
静态方法不能被实例化,也不允许被实例化!
现在很多Java集成工具边写边编译的
因此 你可以通过“类名”+“.”+“静态方法的名()”来调用
2)非静态方法(类的非静态方法)通过关键字 “new” 字来实例化一个对象(object),这个对象放在 内存的另一块区域 堆(heap)中。
也就是说编译时,非静态方法必须先实例化类的一个对象,通过“对象名”+“非静态方法名()”来调用;
public class Student
{
private String name;
/************************************************************
*下面两个方法是类的非静态方法封装 属性name,看一下在 main()
*如何调用
************************************************************/
public set(string init_name)
{
this.name = init_name;
}
publc String get()
{
return this.name;
}
//构造函数
public Student(){}
public Student(String init_name)
{
this.name = init_name;
}

//下面是一个静态方法,看一下它在main()中如何调用
public static void PrintClassName()
{
System.out.print("该类的名字:Student");
}
}
//MainClass类
pubic class MainClass
{
public static void main(args[])
{
//先调用静态方法,不需要实例化对象
Student.PrintClassName();
//现在调用非静态方法,一定要实例化对象
Student stu1 = new Student();
stu1.set("Join");
String stu1_name = stu1.get();
}

}

❷ java 静态方法很多,静态方法是存储在哪个代里

我问题是这样的: 问题补充:我的问题是既然,manager是单例的,那写成静态方法的调用又有何不可,从内存的角度分析看?java的gc角度看?能不能详细说一下 问题补充:suziwen 写道DAO,MANAGER写成静态的是实现 单例,那样才更省内存。。。我的问题是既然,manager是单例的,那写成静态方法的调用又有何不可,从内存的角度分析看?java的gc角度看?能不能详细说一下 问题补充:yqin 写道从JVM内存管理的角度谈谈静态方法和静态属性 我直接用静态方法得了。

❸ java静态方法

静态方法不可以,但是如果main函数不是静态函数就可以引用this和super。如果main函数是静态函数,方法内不能使用super,也不可以使用static。
1。this和super是针对一个类实例,创建一块内存区域,当条用方法时会获得实例的数据,而static没有这样的实例,所以static方法里不可以有this和super。
2。static方法里不可以有static是因为,要是你在一个类里申明了static方法,里面的static变量是可以申明成类static成员的,为了规范代码,Java规定不可以这样。

❹ java[新手]静态方法在哪里调用 多线程

yield和sleep可以在run中调用主要是因为类ThreadYield继承了thread,在子类方法里面调用父类方法很正常。run要重写是因为本身thread里面的run就是空的,就是设计出来让你重写的,另两个本身以及实现好了,调用就行了

❺ java类中的静态方法是何时创建何时销毁的,存放在内存什么地方

你确定问的是静态方法?静态方法和普通方法一样都是在jvm类加载阶段加载到方法区的,当没有类加载器引用到该类对象时,full gc时就会被销毁。

❻ java 静态方法

有时你希望定义一个类成员,使它的使用完全独立于该类的任何对象。通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static 成员的最常见的例子是main( ) 。因为在程序开始执行时必须调用main() ,所以它被声明为static。

声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。声明为static的方法有以下几条限制:
·
它们仅能调用其他的static 方法。
·
它们只能访问static数据。
·
它们不能以任何方式引用this 或super(关键字super 与继承有关,在下一章中描述)。
如果你需要通过计算来初始化你的static变量,你可以声明一个static块,Static 块仅在该类被加载时执行一次。下面的例子显示的类有一个static方法,一些static变量,以及一个static 初始化块:
// Demonstrate static variables,methods,and blocks.

class UseStatic {
static int a = 3;
static int b;

static void meth(int x) {
System.out.println("x = " + x);
System.out.println("a = " + a);
System.out.println("b = " + b);

}

static {
System.out.println("Static block initialized.");
b = a * 4;

}

public static void main(String args[]) {
meth(42);
}
}

一旦UseStatic 类被装载,所有的static语句被运行。首先,a被设置为3,接着static 块执行(打印一条消息),最后,b被初始化为a*4 或12。然后调用main(),main() 调用meth() ,把值42传递给x。3个println ( ) 语句引用两个static变量a和b,以及局部变量x 。

注意:在一个static 方法中引用任何实例变量都是非法的。

下面是该程序的输出:

Static block initialized.
x = 42
a = 3
b = 12
在定义它们的类的外面,static 方法和变量能独立于任何对象而被使用。这样,你只要在类的名字后面加点号运算符即可。例如,如果你希望从类外面调用一个static方法,你可以使用下面通用的格式:

classname.method( )

这里,classname 是类的名字,在该类中定义static方法。可以看到,这种格式与通过对象引用变量调用非static方法的格式类似。一个static变量可以以同样的格式来访问——类名加点号运算符。这就是Java 如何实现全局功能和全局变量的一个控制版本。

下面是一个例子。在main() 中,static方法callme() 和static 变量b在它们的类之外被访问。

class StaticDemo {
static int a = 42;
static int b = 99;
static void callme() {

System.out.println("a = " + a);
}
}

class StaticByName {

public static void main(String args[]) {
StaticDemo.callme();
System.out.println("b = " + StaticDemo.b);

}
}

下面是该程序的输出:

a = 42
b = 99

❼ JAVA的静态成员静态方法存储在哪儿

T.i,但是静态变量得有初始值,否则会报错吧,我记得是,静态变量可以类名打点直接调用

❽ java中方法存放在什么内存区域,静态的和非静态的在同一内存么

我觉得
静态方法
也是存放在栈里面的,但是何时创建何时销毁不是很清楚。理论上方法调用时创建一个新的
栈帧
,方法执行完成之后该栈帧就会被销毁,但是java的静态方法不知道是否特殊。

❾ java中static变量放在哪

static区,就是类加载就纯在的。方法区,是加载这个方法时才有的、

❿ java的静态方法

若类的方法前加了static关键字,则该方法称为静态方法,反之为实例方法。静态方法为类所有,可以通过对象来使用,也可以通过类来使用。但一般提倡通过类名来使用,因为静态方法只要定义了类,不必建立类的实例就可使用。静态方法只能用类的静态成员。 实例方法必须通过类的实例来使用。实例方法可以使用类的非静态成员,也可以使用类的静态成员。 类的静态方法,静态变量是在类装载的时候装载的。但是要特别注意,类的静态变量是该类的对象所共有的,即是所有对象共享变量。所以建议尽量少用静态变量。尽量在静态方法中使用内部变量。
举个例子吧
public class Hibernate
{
public static int Hibernate_Object;

public Hibernate()
{
System.out.println("创建了一个对象");
}

}

public static void main(String args[])
{

Hibernate myHibarnate = new Hibernate();
Hibernate.Hibernate_Object++;

……
System.out.println("hibernate 类 一共 创建了"+Hibernate.Hibernate_Object+“个实例”);

}

阅读全文

与Java静态方法放在哪里的相关的资料

热点内容
饲料呕吐毒素检测方法 浏览:960
氧化氢封闭治疗方法 浏览:376
汽车数字仪表系统常用检测方法 浏览:239
肩胛骨反射区锻炼方法 浏览:577
华为手环跟手机连接方法 浏览:133
汕头有机砷去除解决方法 浏览:638
儿童自行车车筐如何安装方法 浏览:262
660驱动安装方法 浏览:876
可行性研究报告撰写方法 浏览:628
白脉软膏使用方法 浏览:298
喉骨软化有没有什么好的治疗方法 浏览:635
贵州中元节新式写包的正确方法 浏览:877
做沙包的步骤带有说明方法 浏览:722
万圣手机壳制作方法 浏览:500
常用的浸提方法包括超滤法 浏览:663
惠普笔记本开机密码在哪里设置方法 浏览:736
投篮瞄准方法和技巧 浏览:743
马粟乐使用方法 浏览:316
食用油最简单的方法 浏览:677
食用油哪些方法 浏览:122