🍁 作者:知识浅谈,CSDN博客专家,阿里云签约博主,InfoQ签约博主,华为云云享专家
📌 擅长领域:全栈工程师、爬虫、ACM算法
💒 公众号:知识浅谈
🔥 联系方式vx:zsqtcc
🤞这次都给他拿下🤞
正菜来了⛳⛳⛳
🎈方法优先调用可选参数还是固定参数?
先说结论:会优先调用固定参数,因为可选参数的调用优先级是最低的,只有没有其他选项的时候,才会调用可选参数。
举🌰:
public class Main { public void get(int a){ System.out.println("我是固定参数"); } public void get(int... a){ System.out.println("我是可变参数"); } public static void main(String[] args) { Main a = new Main(); a.get(2); } } 返回: 我是固定参数
🎈方法重写和方法重载有什么区别?
⛳方法重写:方法重写是发生在父类和子类之间的。
方法重写遵循5点原则:相同方法名,相同参数个数和类型,修饰符重写的要大于等于被重写的范围,返回值类型重写的要小于等于被重写的,重写方法中抛出的异常要小于等于被重写的方法。
class A{ public Number get(int a){ System.out.println("被重写者"); return a; } } public class Main extends A{ public Number get(int a){ System.out.println("重写者"); return a; } }
⛳方法重载:方法重载是发生在同一个类之中的,向我们常见的构造函数重载。
重载最重要的就是和方法引用有关:方法引用由方法名+参数类型+参数个数组成。
重载要遵循的几点规则:方法名相同,对应的参数的类型和个数不同的方法是重载。
public class Main { public void get(int a){ System.out.println("被重载者"); } public void get(int a,int b){ System.out.println("重载者"); } }
🎈this和super有什么区别?this能调用到父类吗?
this是用来调用当前类中的变量,super是用来调用父类的变量,一般我们子类在执行构造函数执行的时候,会现在最开是调用super()也就是父类的构造函数,所以this是不能直接调用父类而是通过super调用父类的。
注意:在构造函数中,super()是需要放到最上边执行的,如果放在下边会报错。
🎈List,Set,HashMap能存放null值吗
List:因为List是一个列表的形式,其内部可以存储多个null。
Set:因为Set是一个集合的形式,其内部只能存储一个null。
HashMap:因为key是唯一的,所以key中只能存储一个null,而value中可以存储多个null值。
🍚总结
这次就先回顾这四个,下次接着学习,希望有所帮助。