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 }