/*
* 1.什么是方法重载?
* “两同一不同”:同一个类、相同方法名;参数列表不同
* 如何调用确定的方法:方法名->参数列表
* 跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系。
*
* 2.说明Java方法中参数传递机制的具体实现?
* 基本数据类型:数据值
* 引用数据类型:地址值(含变量的数据类型)
*
* 3.成员变量和局部变量在声明的位置上、是否有默认初始化值上、是否能有权限修饰符修饰上、内存分配的位置上有何不同?
*
* 4.谈谈return关键字的使用
* 1)结束方法;
* 2)针对有返回值的方法,return + 返回数据。
*
* 5.内存解析:
* 1)内存结构:栈(局部变量)、堆(new出来的结构:对象(非static成员变量)、数组)
* 2)变量:成员变量 VS 局部变量(方法内、方法形参、构造器内、构造器形参、代码块内)
*
*/
/*
* 一、理解“万事万物皆对象”
* 1.在java语言范畴中,我们都将功能、结构等封装到类中,通过类的实例化,来调用具体的功能结构;
* >Scanner、String等
* >文件:File
* >网络资源:URL
*
* 2.涉及到Java语言与前端Html、后端的数据库交互时,前后端的结构在Java层面交互式时,都体现为类、对象。
*
* 二、内存解析的说明
* 1.引用类型的变量:只可能存储两类值:null 或 地址值(含变量的类型)
*
* 三、匿名对象的使用
* 1.理解:我们创建的对象,没有显示的赋给一个变量名,即为匿名对象
* 2.特征:匿名对象只能调用一次
* 3.使用:开发常用的方式
* PhoneMall mall = new PhoneMall();
*
* //匿名对象的使用
* mall.show(new Phone());
* 其中,
* class PhoneMall{
* public void show(Phone phone){
* phone.sendEmail();
* phone.palyGame();
* }
* }
*/
/*
* 可变个数形参的具体使用
* 1.可变个数形参的格式:数据类型 ... 变量名
* 2.当调用可变个数形参的方法时,传入的参数个数可以是:0个、1个、2个、...
* 3.可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载
* 4.可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载,换句话说,二者不能共存
* 5.可变个数形参在方法的形参中,必须声明在末尾
* 6.可变个数形参在方法的形参中,最多只能声明一个可变形参
*
* public void show(String s){
* Sysout("show(String)");
* }
* public void show(String ... strs){
* Sysout("show(String ... strs)")
*
* for(int i = 0;i < strs.length;i++){
* Sysout(strs[i]);
* }
* }
* //不能与上一个方法同时存在
* //public void show(String[] strs){
* //
* //}
*
* 调用时:
* test.show("hello");
* test.show("hello","world");
* test.show();
*
* test.show(new String[]{"AA","BB","CC"});
*/
/*
* 方法的形参的传递机制
*
* 1.形参:方法定义时,声明的小括号内的参数;
* 实参:方法调用时,实际传递给形参的数据。
*
* 2.java中值传递机制:值传递
* 规则:
* 如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值;
* 如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值。
*
* 推广:
* 如果变量是基本数据类型,此时赋值的是变量所保存的数量值;
* 如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。
*/
/*
* 递归方法:一个方法体内调用它自身。
*
* 方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制;
* 递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似于死循环。
*/
面向对象-重载与可变参数,值传递与递归方法
最新推荐文章于 2024-06-20 16:20:29 发布