java小白的问题
1)java里看到,有static后面直接跟语句块,类似staic{……}这样的东西,请问这是什么?是方法么?2)初始化的时候需要为方法分配内存么?静态方法和非静态方法的...
1)java里看到,有static后面直接跟语句块,类似 staic{…… } 这样的东西,请问这是什么?是方法么?
2)初始化的时候需要为方法分配内存么?静态方法和非静态方法的初始化有不同么? 展开
2)初始化的时候需要为方法分配内存么?静态方法和非静态方法的初始化有不同么? 展开
6个回答
展开全部
staic
{
·……
}是静态代码块,类加载器加载字节码文件到内存时就会被执行,执行会先于其他的方法。
public class StaticTest
{
public static void main(String [ ] args)
{
System.out.println("second");
}
static
{
System.out.println("first");
}
}结果就是first,second。
类在初始化的时候就会为静态变量,静态方法分配内存,非静态的变量与方法只有在使用时才会为其分配栈内存或堆内存。
静态方法的调用:类名.方法名()。
非静态方法首先要进行实例化,再通过实例调用。
{
·……
}是静态代码块,类加载器加载字节码文件到内存时就会被执行,执行会先于其他的方法。
public class StaticTest
{
public static void main(String [ ] args)
{
System.out.println("second");
}
static
{
System.out.println("first");
}
}结果就是first,second。
类在初始化的时候就会为静态变量,静态方法分配内存,非静态的变量与方法只有在使用时才会为其分配栈内存或堆内存。
静态方法的调用:类名.方法名()。
非静态方法首先要进行实例化,再通过实例调用。
展开全部
是静态块,类一加载就运行了它。
静态方法直接用类名.方法名就可以了
非静态方法要 new 类名().方法名();
静态方法直接用类名.方法名就可以了
非静态方法要 new 类名().方法名();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
静态代码块,
类加载的时候首先执行的一部分代码
而且只会执行一次!
类加载的时候首先执行的一部分代码
而且只会执行一次!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
静态块.可以作用于 class 也可以是 变量 ,也可以是 方法,
并且他们的生命周期和整个程序生命周期一致(当程序启动,创建/加载它们。即使离开了当前的作用域,数据也依旧保存在内存里,没有被删除。)
并且他们的生命周期和整个程序生命周期一致(当程序启动,创建/加载它们。即使离开了当前的作用域,数据也依旧保存在内存里,没有被删除。)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1)是静态块,类一加载就运行了它。//不属于 静态块只执行一次不需要重复执行
2)方法的内存是动态分配的,属性是在加载类时分配的
静态方法直接用类名+方法名进行调用
非静态方法要 new 类名()+方法名();
2)方法的内存是动态分配的,属性是在加载类时分配的
静态方法直接用类名+方法名进行调用
非静态方法要 new 类名()+方法名();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.静态代码块,类加载的时候首先执行的一部分代码而且只会执行一次!
2.静态方法直接用类名点方法名,非静态方法要初始化类,才能调用里面的方法
2.静态方法直接用类名点方法名,非静态方法要初始化类,才能调用里面的方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询