Java自动化测试(封装和继承 预习5)
方法/函数重载
规则:方法名一致,参数不一致,与返回值无关
- 参数的个数不一样
- 参数的类型不一样
- 参数的顺序不一样
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19package com.zhongxin.method;
public class Student {
public void add(int a, int b) {
System.out.println(a + b);
}
public void add(int a) {
System.out.println(a);
}
public void add(int a, double b) {
System.out.println(a + b);
}
public void add(double a, double b) {
System.out.println(a + b);
}
}
1 | package com.zhongxin.method; |
java内存
java内存包含了:
- 堆
- 栈
- 方法区
- 寄存器
栈
- 先进后出
- 局部变量,方法都在栈中
堆
- new出来的对象在堆
封装
通过函数的形式将一些代码细节包装起来,防止外部代码的随机访问。
要访问这些数据就必须通过调用函数来完成。
好处:
- 提高了代码的可读性
- 提高了代码的可维护性
1 | package com.zhongxin.method; |
1 | package com.zhongxin.method; |
继承
两个类之间通过extends
关键字来描述父子关系,子类可以拥有父类的公共方法和公共属性。
- 提高了代码的复用性
- 代码的维护性更高
语法:
1 | public class 父类{ |
父类Phone
1 | package com.zhongxin.extend; |
子类Phone4S
1 | package com.zhongxin.extend; |
使用
1 | package com.zhongxin.extend; |
注意
- 如果类不继承任何类,默认继承
Object
- Java是单继承(一个类只能继承于一个类),多层继承
- 创建本类对象之前会先初始化父类对象
- 子类不能继承父类的private成员(属性,方法)
super
super
指向父类
super()
调用父类构造方法
this
this
指向当前类(子类)
this()
调用本类其他构造
方法重写/覆盖
前提条件:
- 继承或者实现
子父类中出现一摸一样的方法
作用:
- 方法升级
修饰符
访问修饰符
- public
公共的
- protected
受保护的,必须继承后才能访问
- 默认修饰符
本类或者同一个包pakage
下可以访问
- private
私有的,只有本类可以访问
上面1~4 权限依次降低
非访问修饰符
- static
静态
- final
常量
1 | public final int b = 10; |
- abstract
抽象