今日学习韩顺平java0200_韩顺平Java_对象机制练习_哔哩哔哩_bilibili
今日学习p233-p245
可变参数
java允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法
基本语法
访问修饰符 返回类型 方法名(数据类型...形参名){
}
使用细节
可变参数的实参可以为0个或任意多个
可变参数的实参可以为数组
可变参数的本质就是数组
可变参数可以和普通类型的参数一起放在形参列表,但必须保证可变参数在最后
一个形参列表中只能出现一个可变参数
作用域
使用细节:
在java编程中,主要的变量就是属性(成员变量)和局部变量
我们说的局部变量一般是指在成员方法中定义的变量
java中作用域的分类:
全局变量: 也就是属性,作用域为整个类体
局部变量:也就是除了属性之外的其他变量,作用域为定义它的代码块中
全局变量可以不赋值,直接使用,因为有默认值,局部变量必须赋值后才能使用,因为没有默认值
属性和局部变量可以重名,访问时遵循就近原则
在同一个作用域中,比如在同一个成员方法中,两个局部变量,不能重名
属性生命周期较长,伴随着对象的创建而创建,伴随着对象的死亡而死亡。局部变量,生命周期较短,伴随着它的代码块的执行而创建,伴随着代码块的结束而死亡。即在一次方法调用过程中
全局变量属性可以加修饰符,局部变量不可以加修饰符
构造器/构造方法
构造方法又叫构造器,是类的一种特殊的方法,它的主要作用是完成对新对象的初始化
基本语法:
[修饰符] 方法名(形参列表){
方法体;
}
使用说明:
构造器的修饰符可以默认
构造器没有返回值
方法名和类名字必须一样
参数列表和成员方法一样的规则
在创建对象时,系统会自动的调用该类的构造器完成对对象的初始化
一个类可以定义多个不同的构造器,即构造器重载
构造器是完成对象的初始化,并不是创建对象
如果程序,没有定义构造方法,系统会自动给类生成一个默认无参构造方法(也叫默认构造方法),
一旦定义了自己的构造器,默认的构造器就覆盖了,就不能再使用默认的无参构造器,除非显示的定义一下
对象创建的流程分析
加载Person类信息(Person.class),只会加载一次
在堆中分配空间(地址)
完成对象初始化[3.1 默认初始化 age=0 name=null 3.2 显式初始化 age=90,name=null, 3.3构造器的初始化 age=20,name=小倩]
在对象在堆中的地址,返回给p(p是对象名, 也可以理解成是对象的引用)