本文目录一览:
- 1、Java类属性初始化是什么?
- 2、JAVA中 数据初始化的三种方法是什么?
- 3、java中怎么数组初始化?
- 4、java 对象的初始化方式有几种
- 5、java静态初始化器对什么进行初始化
- 6、Java初始化的方法有几种
Java类属性初始化是什么?
1.我们都知道java是面向对象的语言, 那么类就好比是一个模板, 比如Student类, 这个类其实是一个模板, 是一个规范.
然后我们执行下面这行代码
Student xiaoMing = new Student();
就相当于我们用Student这个模板去生成了一个对象, 这个对象叫xiaoMing.
如果Student这个类有一个属性private int age;当我们只是做上面new对象的动作时候, xiaoMing的age并没有被赋值, 只是初始化成了0
(数值类型的属性初始化都是0, String则是null, 例如有个字符串类型的属性name就会是null)
然后xiaoMing.setAge(10); 那么这个时候xiaoMing的age属性才变成10,
所以类属性初始化指的就是在new对象的时候对各个属性赋予一个初始化的值.
2.为什么要用构造方法进行属性初始化:
这个并不是强制的, 构造方法分成无参构造和带参构造, 用构造方法对属性进行初始化只是单纯的为了方便而已.
JAVA中 数据初始化的三种方法是什么?
public
class
staticinitialization
{
public
static
void
main(string[]
args)
{
system.out.println("creating
new
cupboard()
in
main");
new
cupboard();
system.out.println("creating
new
cupboard()
in
main");
new
cupboard();
t2.f2(1);
t3.f3(1);
}
static
table
t2
=
new
table();//1:标记位1
static
cupboard
t3
=
new
cupboard();//2
标记位2
}
//
/:~
/**
1:要执行main方法,必须先加载staticinitialization,加载过程中,发现有静态变量t2,首先执行t2
=
new
table()
new
table()需要实例化table,必须先加载table类
加载table类的过程中,发现table类也有静态变量,首先执行static
bowl
b1
=
new
bowl(1);过程和上面一样,要去创建bow1
创建之前加载bow1类,加载完毕,调用bow1的构造方法,于是打印出“bowl(1)”
b1实例化(创建)完成
然后执行static
bowl
b2
=
new
bowl(2);
再次调用bow1构造方法,打印“bowl(2)”
这时候table类加载完毕,开始实例化t2变量,调用table类构造方法,打印“table()”
执行b2.f(1);
打印“f(1)”
2:道理和上面1一样,只是在cupboard中,static变量初始化完毕之后,还要去初始化一个非static变量
最后执行main中的方法,注意的是,此时table,cupboard
这2个类的加载过程已经完成,之后创建这2个类的实例的过程中,不再去初始化static变量
有其他问题在hi我
*/
java中怎么数组初始化?
//数组定义最方便的就是用for循环来做定义,数组下标是从0开始,到11的话就是12个数字。要输出的话可以用以//号注释掉的后面的一句if(i12){System.out.println(x[i]);}当然也可以自己再写一个for循环语句来输出,不过我觉得这有点画蛇添足了
public class shuzu {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int x[]=new int[12];
for(int i=0;i=11;i++)
{
x[i]=i;
//if(i12){System.out.println(x[i]);}
}
}
}
.动态初始化:数组定义与为数组分配空间和赋值的操作分开进行;
2.静态初始化:在定义数字的同时就为数组元素分配空间并赋值;
3.默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐士初始化。
数组名加上下标可以表示数组元素。数组的第一个元素是下标为O的元素,例如points[0]。最后一个元素的下标为length一1,如points[points.1ength一1]。当创建一个数组时,每个元素都被初始化。如前面创建的字符数组s,它的每个值被初始化为O(\0000)。而数组points的每个值被初始化为null,表明它还没指向真正的Point对象。
在赋值语句points[o]= New Point();后,系统创建一个真正的Point对象,并让数组的第一个元素指向它。
注意:包括数组元素在内的所有变量的初始化.从系统安全角度看都是必不可少的任何变量都不能在没有初始化状态下使用。编译器不能检查数组元素的初始化情况。Java允许用初值来创建数组,如例:String names[]={”Georgianna”,“Tenn”,“Simon“,“Tom“};用4个字符串常量初始化names数组,这种方式称为静态初始化,它等价于:String names[];names=new String[4];names[0]=“Georgianna“;names[1]=“JEN”;names[2]=”Simon“;静态初始化可用于任何元素类型,初值块中每个位置的每个元素对应一个引用。
java 对象的初始化方式有几种
1、构造器
创建对象时初始化,比较常见。
classA{
publicA()
{}
}
public
2、初始化块
较少见,用于有特殊要求的类。
static {
}
3、方法
即Setter方法,虽然方便(不必在创建对象时一次性初始化),但是可能引发空指针异常。
java静态初始化器对什么进行初始化
java静态初始化器对static进行初始化。
所谓的静态和动态是相对于程序运行是而言的,静态是在程序编译时就初始化好了的,动态初始化是在程序运行是才动态分配内存空间。
static变量初始值一定要是常量。static变量中文名叫静态变量。位置静态局部变量被编译器放在全局存储区.data,所以它虽然是局部的,但是在程序的整个生命周期中存在。
作用:
对于静态全局变量来说,针对某一源文件的以static声明的文件级变量与函数的作用域只限于文件内(只在文件内可见),也即“内部连接”,因而可以用来限定变量的作用域。
对于静态局部变量来说,在函数内以static声明的变量虽然与自动局部变量的作用域相同(即作用域都只限于函数内)。
但存储空间是以静态分配而非默认的自动分配方式获取的,因而存储空间所在区域不同,且两次调用间变量值始终保持一致;必须注意,静态局部变量只能初始化一次,这是由编译器来保证实现。
对于静态成员变量来说,在C++中,在类的定义中以static声明的成员变量属于类变量,也即在所有类实例中共享,与之相对的就是过程变量。
Java初始化的方法有几种
初始化常用的方法就是创建对象初始化:
类名 对象名 =new 类名();