java中自动插入一个默认的构造函数,这到底怎么回事?
Posted mark-to-win
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中自动插入一个默认的构造函数,这到底怎么回事?相关的知识,希望对你有一定的参考价值。
1.2 当没有任何构造函数,java编译器,会插入一个默认的构造函数 (视频下载) (全部书籍)
见下面的例子:
class Line {
double x = 0.02;
double y;
}
public class Test {
public static void main(String[] args) {
Line c = new Line();
System.out.println(c.x);
System.out.println(c.y);
}
}
结果:
0.02
0.0
class Circle1 {
double x = 0.02;
double y;
public Circle1(){
}
}
public class Test {
public static void main(String[] args) {
Circle1 c = new Circle1();
System.out.println(c.x);
System.out.println(c.y);
}
}
结果:
0.02
0.0
解释一下上面的例子@马克-to-win:实验表明:最开始x=0,且y=0,后来执行构造函数之前,系统先用double x=0.02; double y=0;赋值, 之后再用构造函数的方法最后赋值。如构造函数中什么都没做就用系统开始的赋值。
类其中的变量为final时的用法: (视频下载) (全部书籍)
类当中final变量没有初始缺省值,必须在构造函数中赋值或直接当时赋值。否则报错。
public class Test {
final int i;
Test(){
i=3;
}
public static void main(final String[] args) {
Test t=new Test();
System.out.println("i = " + t.i);
}
}
结果:
i = 3
或者
public class Test {
final int i=9;
public static void main(final String[] args) {
Test t=new Test();
System.out.println("i = " + t.i);
}
}
结果:
i = 9
详情请见:http://www.mark-to-win.com/index.html?content=JavaBeginner/javaUrl.html&chapter=JavaBeginner/JavaBeginner2_web.html#InsertDefaultConstructor
以上是关于java中自动插入一个默认的构造函数,这到底怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章