属性和局部变量的异同
相同点:
1. 定义变量的格式:数据类型 变量名 = 变量值
2. 先声明后使用
3. 变量都有其对应的作用域
不同点:
1. 在类中声明的位置不同
属性:直接定义在类的一对 {} 内
局部变量:声明在方法内、方法参数、代码块内、构造器形参、构造器内部的变量
2. 关于权限修饰符的不同
属性:可以在声明属性时,指明其权限,使用权限修饰符
局部变量:不可以使用权限修饰符
3. 默认初始化值不同
属性:类的属性,根据其类型,都有默认初始化值(跟数组的默认初始化值一样)
局部变量:没有默认初始化值
属性赋值顺序
1. 默认初始化
2. 显示初始化 / 代码块中赋值
3. 构造器初始化
4. 通过对象.方法
或 对象.属性
的方式进行赋值
方法的声明
权限修饰符 返回值类型 方法名(形参列表){ 方法体 }
说明:
1. java 规定4中权限修饰符:private、public、缺省、 protected
2. 如果方法有返回值,则必须在方法声明时,指定返回值类型。同时方法中需要使用return
关键字返回值指定类型的变量或常量
3. 如果方法没有返回值,则方法声明时,使用void
来表示
4. 方法名属于标识符,遵循标识符的规则和规范
5. 方法可以声明 0个、1个、或多个形参
return关键字
使用范围:使用在方法体中
作用:
1. 结束方法
2. 针对有返回值类型的方法,使用return
返回所要的数据
注意点:return
关键字后面不可以声明执行语句
方法重载
方法重载的概念:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同(“两同一不同”)
确定类中某一个方法的调用:方法名 ----> 参数列表
可变个数形参的方法
使用说明:
1. 可变个数形参的格式:数据类型 ... 变量名
2. 当调用可变个数形参的方法时,传入的参数个数可以是 0 个或多个
3. 可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载
4. 可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载
5. 可变个数形参在方法的形参中,必须声明在末尾
6. 可变个数形参在方方法的形参中,最多只能声明一个可变形参
Java的值传递机制
规则:
1. 如果变量是基本数据类型,此时赋值的是变量所保存的数据值
2. 如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值
针对方法的参数概念
1. 形参:方法定义时,声明的小括号内的参数
2. 实参:方法调用时,实际传递给形参的数据
方法重载
方法重写概念:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作
重写规则:
1. 子类重写的方法的方法名和形参列表与父类被重写的方法的方法名和形参列表相同
2. 子类重写的方法的权限修饰符不小于父类被重写方法的权限修饰符(子类不能重写父类中声明为private
权限的方法)
3. 父类重写的方法的返回值类型是void
,则子类重写的方法的返回值类型只能是void
4. 父类重写的方法的返回值类型是基本数据类型,则子类重写的方法的返回值类型必须事项相同的基本数据类型
5. 父类重写的方法的返回值类型是A类型,则子类重写的方法的返回值类型可以是A类或者A类的子类
6. 子类重写的方法抛出的异常类型不大于父类被重写的方法抛出的异常