java 重载 重写

2*8怎么运算最快

2<<3 位运算左移移三位最快


x ? y:z 三元表达式 x代表条件


面向百度编程



jdk 7 以后的case 比较支持字符串

string   nam = "滴答"
     
switch (nam){
            case "滴答" :
                System.out.println("滴答");
                break;
        }

//底层还是去对比哈希code码,

乘法表

   for (int i =1; i <=9 ; i++) {
            for (int j = 1; j <=i ; j++) {
                System.out.print(j+"*"+i+"*"+(j*i));
            }
        }
1.打印一列
2.循环包起来
3.去掉重复项
4.调整样式

重载 就是在一个类中,有相同的函数名称,但形参不同的函数。

规则

  • 方法名称必须相同
  • 参数列表必须不同(个数不同,类型不同,参数排列顺序不同登)
  • 方法的返回值可以相同也可以不同
  • 仅仅返回类型不同不足以构成放大的重载

重载是编译时多态

重写 发生在父类和子类之间

父类引用指向子类
就是在子类中把父类本身有的方法重新写一遍。子类继承了父类原有的方法,但有时子类并不想原封不动的继承父类中的某个方法,所以在方法名,参数列表,返回类型(除过子类中方法的返回值是父类中方法返回值的子类时)都相同的情况下, 对方法体进行修改或重写,这就是重写。但要注意子类函数的访问修饰权限不能少于父类的。

1.发生在父类与子类之间
2.方法名,参数列表,返回类型(除过子类中方法的返回类型是父类中返回类型的子类)必须相同
3.访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)
4.重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常


重载与重写的区别

方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求,不能根据返回类型进行区分。


posted @ 2021-03-03 15:23  仅此忆念  阅读(36)  评论(0)    收藏  举报