Day04
构造方法
new car()--->构造方法
作用:在构造方法中为创建的对象初始化赋值。
特点:构造方法名与类名相同,且没有返回值,且不需要使用void修饰。
每次创建对象时,至少要调用一个构造方法,一个类中可以有多个构造方法。
/*
类中默认的是无参构造方法。
如果没有显式写出来,并且定义了有参的构造方法,那么无参的就会被覆盖。
一般情况下,定义了有参的构造方法,最好把默认无参显式定义出来。
*/
public Car(){
//在无参构造方法中,可以使用默认值为对象中的属性赋值
//引用类型null 整数 0 浮点 0.0 char ‘ ’ boolean false
}
方法的重载
方法的重载是指同一个类中具有相同的名字,但参数不同的多个方法。
参数不同(可以有三方面的不同)
数量不同
类型不同
顺序不同
调用时,会根据不同的参数表选择对应的方法。
对象与引用
java中除了基本类型之外的变量都称之为引用类型。
Java中进行方法调用中传递参数时,参数传递有两种:
● 值传递:(形参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式
参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方
法执行中形式参数值的改变不影响实际参数的值。
● 引用传递:(形参数类型是引用数据类型参数):也称为传地址。方法调用时,实际参数是对
象,这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实
际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实
际参数。
this关键字
this表示当前正在使用的对象。
static关键字
static被称为静态,可以用来修饰类的属性,方法,代码块,内部类。静态属性是类的所有对象共
享的,即不管创建了多少个对象,静态属性在内存中只有一个。
1) 随着类的加载而加载
2)优先于对象存在
3)修饰的成员,被所有对象所共享
4)可不创建对象,直接被类调用
可以直接用类名调用,也可以使用对象调用。
static方法内部只能访问类的static属性,不能访问类的非static属性,static属性先加载。
代码块
代码块类似与一个类似一个没有名称的方法体,代码分实例块和静态块。
实例块:每次创建对象时自动调用。
{
//任何符合语法的Java代码
}
静态块:类加载时自动调用,仅一次,与是否创建对象无关。
static {
//任何符合语法的Java代码
}
类的加载执行
代码块总是在构造函数之前执行。不管位置在构造函数的前面还是后面。
静态代码块在创建对象之前就可以运行。
附图: