变量分类
变量的分类按照数据类型分为基本数据类型变量和引用数据类型变量
按照位置分为成员变量和局部变量
成员变量:写在类中,可以是Java中的任意数据类型
成员变量初始化时可以不赋值,在调用类时,Java会
默认给成员变量赋值
成员变量在创建对象时会自动复制一份到对象中去
成员变量可以被方法,构造方法,代码块访问
成员变量作用范围是整个类
生命周期:从对象创建开始到对象销毁结束
局部变量:写在方法中,可以是Java中的任意数据类型
局部变量初始化时,必须赋值
生命周期:声明局部变量和初始化都是在方法中,一旦方
法结束,变量就会自动销毁
从方法入栈开始,到方法出栈结束
方法分类
方法分为成员方法与构造方法
成员方法是定义在类中,主要是完成某种行为或功能.
语言格式:
访问权限修饰符 [ 修饰符] 返回值类型 方法名 (参数列表){
方法体
[return 返回值]
}
构造方法用来初始化新创建的对象.
构造方法
构造方法名与类名相同,没有返回值,不需要使用void修饰.
作用:在构造方法中为创建的对象初始化赋值.
类中有一个默认的无参的构造方法,可以为属性赋予默认值.
一个类中可以有多个构造方法.
每个类都有构造方法.如果没有显式地为类定义构造方法,Java将会为该类提供一个默认构造方法.但是只要在一个Java类中定义了一个构造方法后,默认的无参构造方法即失效.如果需要使用,需要显式的定义.
方法的重载
方法的重载指的是在同一个类中具有相同的名字,但参数不同的多个方法.
参数不同可以是数量,类型或顺序不同
在方法调用时会根据不同的参数选择对应的方法.
方法的重载与返回值无关.
this关键字
this关键字代表当前正在使用的对象 .
使用this关键字可以引用成员变量 ,也可以引用成员方法.
在一个类的方法或构造方法内部,可以使用“this.成员变量名”这样的
格式来引用成员变量名,用来区分同名的成员变量和局部变量.
对象与引用
Java 语言中除基本类型之外的变量类型都称之为引用类型.
Java中的对象是通过引用对其操作的.
例如 我们定义一个动物类
class Animal{ String name; int age; String color; } Animal dog = new Animal();
Animal dog = new Animal();
这条语句我们称之为创建一个对象,其中包含三部分
new Animal() 是以Animal类为模板创建了一个Animal新对象.
Animal dog 是创建了一个Animal类的引用,就是以后可以用来指向Animal对象的对象引用.
= 使对象引用指向刚创建的那个Animal对象.
值传递与引用传递
Java中进行方法调用中传递参数时,参数传递有两种:
值传递:(形参数据类型是基本数据类型):方法调用时,实际参数把它的值传递给
对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是
两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值.
引用传递:(形参数据类型是引用数据类型):也称为传地址.方法调用时,实
际参数是对象,这时实际参数与形式参数指向同一个地址,在方法执行中,对形
式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下
来,所以方法执行中形式参数的改变将会影响实际参数.
基本类型传递的是该数据值本身.
引用类型传递的是对对象的引用,而不是对象本身.