库调多了,都忘了最基础的概念-方法篇

简介: 库调多了,都忘了最基础的概念-方法篇

🍁 作者:知识浅谈,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值。

🍚总结

这次就先回顾这四个,下次接着学习,希望有所帮助。

相关文章
|
7月前
|
PHP 开发者
|
8月前
|
存储 算法 编译器
【C++技能树】再也不怕没有对象了 --初识类
我们先来看看C语言解决一个问题的过程。
44 0
|
编解码 缓存 NoSQL
7点 讲明白地图切片的概念与原理
7点 讲明白地图切片的概念与原理
310 0
|
网络架构 iOS开发
《编程原本 》一1.7 概念
本节书摘来自华章出版社《编程原本 》一书中的第1章,第1.7节,作者(美)斯特潘诺夫(Stepanov, A.),(美)麦克琼斯(McJones, P.),更多章节内容可以访问云栖社区“华章计算机”公众号查看
1106 0