-
静态域和静态方法 – static关键字
静态域
若一个类有静态域,则只有一个,且不创建对象也存在,可通过类访问;而实例域拷贝于每一个创建的对象中,且通过对象访问。
相较于静态变量,静态常量使用较多,例如Math.PI。被final修饰的域不可被更改。静态方法
一种不能对对象实施操作的方法,例如Math.pow(x,a),在运算时不使用任何Math对象,即没有隐式的参数(this)。静态方法不能访问实例域,因为它不能操作对象,但可以访问静态域。可以通过类名访问这个静态方法。
main方法是一种静态方法,每一个类都可以有一个main方法,便于进行单元测试。 -
方法参数
Java总是采用按值传递,即方法得到的是参数值的一个拷贝,不能改变传递给方法的参数的内容。
方法参数的两种类型:基本数据类型、对象引用
当方法参数为一个对象的引用时,方法可改变此对象的状态。在方法执行结束之后,在方法中创建的变量被舍弃回收。 -
对象构造
一个类可以有多个构造器( 重载,overloading),若在构造器中对域没有初始化,会被赋予默认值(0,false,null),域与局部变量的主要不同点是:局部变量必须自行初始化。
如果在一个类中没有编写构造器,系统会提供一个无参数构造器。若提供了至少一个构造器(有参数),在构造对象时不提供参数会不合法。
显式域初始化:可以在执行构造器之前,先执行赋值操作。可在构造器中通过this访问实例域进行赋值,对应python中__init__方法的self参数。若一个构造器的第一个语句形如this(…),将调用另外一个构造器,这样构造器的公共代码部分可以只写一次。
初始化块:按顺序执行(初始化语句,初始化块,生成器)
JAVA核心技术卷一(学习总结)
最新推荐文章于 2022-04-16 18:36:54 发布