目录
static
被static修饰的成员变量,叫静态变量
特点:
被该类所有对象共享
不属于对象,属于类
随着类的加载而加载,优先于对象存在
调用方式:
类名调用
对象名调用
被static修饰的成员方法,叫静态方法
特点:
多在测试类和工具类中
Javabean类中很少会用
调用方式:
类名调用
对象名调用
不描述任何事物的类
- public class ArrayUtil {
- private ArrayUtil() {
-
- }
- //需要定义静态的,方便调用
- //输出数组内容
- public static String printArr(int[] arr) {
- StringBuilder sb = new StringBuilder();
- sb.append("[");
- for(int i = 0; i < arr.length; i++){
- if(i == arr.length-1){
- sb.append(arr[i]);
- }else{
- sb.append(arr[i]+",");
- }
- }
- sb.append("]");
- return sb.toString();
-
- }
-
- //算平均数
- public static double getAverage(double[] arr) {
- double sum = 0;
- for(int i = 0; i < arr.length; i++){
- sum += arr[i];
- }
- return sum/arr.length;
- }
- }
继承
java提供了一个关键字extends,用这个关键字,可以让一个类和另一个类建立继承关系
Java只支持单继承,不支持多继承,但支持多层继承
子类不能继承父类的构造方法
子类可以继承父类的成员变量,但不能直接使用父类中被private修饰的成员变量
只有父类中的虚方法(非private 非static 非final)才能被子类继承
继承中成员变量的调用方法:就近原则
当父类的方法不能满足子类的需求时,需要进行方法重写
在继承体系中,子类出现与父类一样的方法声明,我们就称子类的方法是重写的方法。
@override放在重写的方法上面,验证子类重写的方法是否正确
重写方法的名称,形参列表必须与父类一致
重写方法时,访问权限子类必须>=父类
重写方法时,返回值类型必须<=父类
只有被添加到虚方法表的方法才能被重写
理解成一个变量,表示当前方法调用者的地址值
代表父类存储空间
关键字 | 访问成员变量 | 访问成员方法 | 访问构造方法 |
---|---|---|---|
this | this.成员变量 访问本类成员变量 | this.成员方法() 访问本类成员方法 | this(...) 访问本类构造方法 |
super | super.成员变量 | super.成员方法() 访问父类成员方法 | super(...) 访问父类构造方法 |