return、continue、break三者的区别是什么?
return 用于从函数中退出并返回值,continue 用于跳过当前循环的剩余部分并继续下一次迭代,
而 break 用于完全结束循环的执行。
方法重载overload?
1.同一类中:方法重载发生在同一个类中(或者在一个类的继承关系中)。
2.方法名相同:重载的方法必须有相同的方法名。
3.参数列表不同:可以是参数的数量不同,参数的类型不同,或者参数的顺序不同。只有返回类型不同不足以成为方法重载。
4.返回类型:重载的方法可以有不同的返回类型,但仅仅返回类型不同不足以构成方法重载。
5.编译时多态性:方法重载是静态的,这意味着编译器在编译时就确定了应该调用哪个方法。
重载与重写的区别?
方法重载是指在同一个类中定义有相同名称但参数列表不同的多个方法。
方法重写指的是子类重新定义父类的方法,在方法的名称、参数列表和返回类型都相同的情况下改变方法的具体实现。
Java的参数传递?
基本数据类型传递的是:值本身。
引用数据类型传递的是:变量在堆中的引用地址。
全局变量
定义位置:全局变量定义在函数外部,通常在程序的最上方,这使得它在整个程序文件甚至是多个文件中都可见。
作用域:全局变量在整个程序中都是可访问的,除非被同名局部变量所遮蔽。
生命周期:全局变量的生命周期通常与程序的运行周期相同,从程序开始执行时被创建,直到程序结束时才销毁。
用途:常用于存储整个程序运行期间都需要访问的数据,如配置信息、共享资源等。
潜在问题:过度依赖全局变量可能导致程序难以理解和维护,因为任何部分的代码都可能修改全局变量的值,从而引起不可预料的结果。
局部变量
定义位置:局部变量定义在函数或代码块(如循环、条件语句等)内部。
作用域:局部变量仅在定义它的函数或代码块内部可见和可用。当控制流离开该函数或代码块时,局部变量就会失效。
生命周期:局部变量的生命周期通常很短,仅限于函数调用的持续时间或代码块的执行时间。
用途:常用于存储函数计算过程中的临时数据,或者在代码块中控制循环和决策结构。
资源管理:局部变量的创建和销毁通常更加高效,因为它们占用的内存会在函数或代码块执行完毕后立即释放。