欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

复习……方法的重载

程序员文章站 2022-05-05 16:09:00
方法的重载(overload) 1 //定义两个int型变量的和 2 public int getSum(int i, int j) { 3 return j + i; 4 } 5 6 //定义三个int变量的和 7 public int getSum(int i, int j, int k) { ......

Lesson Six                         2018-04-20  00:48:57

        1.一个项目或工程,一定是由一个一个类构成的。
        2.类是抽象的,比如建筑图纸。而具体的建筑,是根据图纸建设成的,实际上就是类的实例化
        3.完成一个项目或功能的思路
        3.1所要完成的功能对应的类的对象是否存在
        3.2若存在,则通过对像直接调用对应的类中的属性或方法即可
        3.3若不存在,需要创建类的对象。
        3.4若类都不存在,就需要设计类。

        4.面向对像编程的三条主线:
        4.1类及类的构成成分:属性、方法、构造器、代码块、内部类
        4.2面向对像编程的特征:封装性、继承性、多态性。
        4.3其它的关键字.............

        类的初始化的内存解析
        内存划分的结构:
        栈:引用名、局部变量
        堆: new 出来的“东西”。 如成员变量、方法实体、对像实体
        方法区 含字符串常量
        静态域:声明为static的变量 

  


方法的重载(overload)

    1.同一个类中多个方法构成重载
2.方法名必须相同
3.方法的参数列表不同
3.1参数的个数不同
3.2参数类型不同
如果同时满足以上三条,则构成重载。
方法的重载与方法的 返回值类型 和 参数名 没有关系
复习……方法的重载
 1  //定义两个int型变量的和
 2     public int getSum(int i, int j) {
 3         return j + i;
 4     }
 5 
 6     //定义三个int变量的和
 7     public int getSum(int i, int j, int k) {
 8         return i + j + k;
 9     }
10 
11     //不能与其它方法构成重载   !!!方法名!!!
12     public int getSum1(int i, int j, int k) {
13         return i + j + k;
14     }
15 
16     //定义两个double数据的和
17     public double getSum(double d1, double d2) {
18         return d1 + d2;
19     }
20 
21     //定义三个double数据的和
22     public double getSum(double d1, double d2, double d3) {
23         return d1 + d2 + d3;
24     }
示例

PS:形参的排列顺序也决定着方法之间能否构成重载

复习……方法的重载
1  //    下面这两个方法依然构成重载
2     public double getSum(int d1, double d2) {
3         return d1 + d2;
4     }
5 
6     public double getSum(double d2, int d1) {
7         return d1 + d2;
8     }
形参顺序也能决定方法是否能构成重载



复习……方法的重载
 1 //    以下三个方法构成重载
 2     public int mOl(int a) {
 3         return a * a;
 4     }
 5 
 6     public int mOl(int a, int b) {
 7         return a * b;
 8     }
 9 
10     public void mOl(String c) {
11         System.out.println(c);
12     }
13 
14 
15     public int max(int a, int b) {
16         return (a > b) ? a : b;
17     }
18 
19     public int a(int a, int b, int c) {
20         return (max(a, b) > c) ? max(a, b) : c;
21     }
重构和三元运算符