导航:首页 > 编程语言 > java构造函数静态

java构造函数静态

发布时间:2022-07-21 05:19:58

java 调用静态方法和构造函数和静态块执行的先后顺序

java中首先是静态块先执行,静态方法,最后是构造函数。示例如下:

publicclassExA{
static{
System.out.println("父类--静态代码块");
}

publicExA(){
System.out.println("父类--构造函数");
}

{
System.out.println("父类--非静态代码块");
}

publicstaticvoidmain(String[]args){
newExB();
}
}

classExBextendsExA{
static{
System.out.println("子类--静态代码块");
}
{
System.out.println("子类--非静态代码块");
}

publicExB(){
System.out.println("子类--构造函数");
}
}

执行结果
=====
父类--静态代码块
子类--静态代码块
父类--非静态代码块
父类--构造函数
子类--非静态代码块
子类--构造函数

㈡ Java构造函数,构造代码块和静态代码块的区别

  1. 构造函数:执行时间比构造代码块时间晚,也是在对象初始化的时候运行。没有返回值,构造函数名称和类名一致。

  2. 构造代码块:执行时间比静态代码块晚,比构造函数早,和构造函数一样,只在对象初始化的时候运行。没有名字、参数和返回值。

  3. 静态代码块:最早执行,类被载入内存时执行,只执行一次。没有名字、参数和返回值,有关键字static。

静态代码块只会在类被载入内存时加载一次,是最先执行的,然后是构造代码块,最后才是构造函数。构造代码块和构造函数都是在对象创建的时候执行,有几个对象就会执行几次。

㈢ Java 中能不能有静态的构造函数

java中静态的东西都是属于类的,为类服务,构造函数是为了初始化对象,为对象服务。构造函数是用来生成实例,既然是实例就不是static的。这两者是相互矛盾的

㈣ Java构造函数(方法)存储在jvm哪个内存里

存放到方法区当中;
new出来的是实例对象,实例对象才是存放在堆当中;
构造函数对应的是<init>方法,方法信息随着类加载器加载到方法区当中。
栈:
以栈帧为单位,存放的不是方法具体的结构,只是通常一个方法对应一个栈帧,对应的入栈出栈就是栈帧的入栈出栈。栈帧中有局部变量表,操作数栈,方法返回地址,动态链接。其中局部变量表存放局部变量,包括形参,非静态方法默认在第一个索引存放一个this变量;操作数栈用于操作局部变量表和一些值的运算,比如读取表中变量的值进行运算,或存放相应的值到局部变量表中;方法返回地址则是用于记录对应方法的下一条指令的地址;动态链接是符号引用变成的直接引用。
堆:
存放实例对象,在jdk7开始,还存放静态变量和字符串常量池
方法区:
存放类元信息,比如完整类名全称,public,abstract等修饰符,实现的接口有序列表等;方法信息,比如修饰符,返回类型等;JIT代码缓存,也就是被即时编译器编译后的热点代码,用于提高性能;域信息,也就是属性信息,比如修饰符,类型等;运行时常量池,字节码文件中常量池的运行时表现,类似符号引用的记录,不过蕴含的信息更为丰富,而且具有动态性。jdk6及以前,还存放静态变量,运行时常量池中还存放字符串常量池,到了jdk7则移到了堆中。

㈤ Java有静态构造函数吗

在java中,构造方法是通过new来实例化一个对象的,
而静态方法是类方法,直接通过类名直接调用的,是不能通过对象调用的,所以也就不能用static来修饰,故java不能有静态构造函数。

㈥ java中构造方法是否是静态的

静态的东西是属于类的,非静态的东西是属于实例的。没有静态的构造函数。

静态的先执行,然后才是非静态的。 输出C B A

class A{
public A(){
System.out.print("A");
}
{
System.out.print("B");
}
static {
System.out.print("C");
}
}

㈦ 为什么Java中不能有静态的构造函数

因为静态方法是没有状态的,接收一个参数,然后返回一个参数或者或者对该参数做什么操作。
而非静态方法与该对象有关,可以改变该方法所在的类的对象的状态。
构造方法可以设置一个对象的初始状态,这与静态方法冲突了。

㈧ JAVA中为什么要定义静态代码块和构造函数呢

您好,提问者:
首先静态代码块的作用是,只执行一次,不管是new还是直接类名。
构造函数用于传递或者初始化,如果想要这个类的方法或者变量,必须new初始化。
静态代码块:
用于初始化一些操作,例如数据库连接、配置文件读取等。
构造函数:
用于new
xxx(值),如果一个类不想被new可以把构造方法写为private类型。

阅读全文

与java构造函数静态相关的资料

热点内容
android红包实现 浏览:730
苹果的nvme为什么安卓不用 浏览:29
python输入单词统计个数 浏览:996
脚本软件提取源码 浏览:280
程序员能给自己的微信钱包刷钱么 浏览:67
怎么让小天才app查看宝贝的通讯录 浏览:620
dxgpdf 浏览:256
哪个命令 浏览:43
文件不能打包压缩 浏览:699
linux源码调试 浏览:948
全球所有c语言编译器 浏览:658
如何学好app安全 浏览:261
怎么给已经发表的文章加密 浏览:1000
php加密验签 浏览:168
如何新建app 浏览:17
python人脸识别某人 浏览:610
能免费解压软件的浏览器 浏览:840
耳机适配器加密狗 浏览:619
苹果为什么和安卓为什么换不了号 浏览:297
解压图片怎样快速导入 浏览:746