学习JAVA的第七天(基础)

目录

static

静态变量

静态方法

工具类:

static的注意事项

继承

继承的好处

继承的特点

方法的重写

书写格式

@override重写注解

方法重写的要求

this关键字

super关键字


static

  • static表示静态,是Java中的一个修饰符,可以修饰成员变量,成员方法。

静态变量

被static修饰的成员变量,叫静态变量

特点

被该类所有对象共享

不属于对象,属于类

随着类的加载而加载,优先于对象存在

调用方式:

类名调用

对象名调用

静态方法

被static修饰的成员方法,叫静态方法

特点:

多在测试类和工具类中

Javabean类中很少会用

调用方式:

类名调用

对象名调用

工具类:

不描述任何事物的类

java 复制代码
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;
    }
}

static的注意事项

  • 静态方法只能访问静态变量和静态方法
  • 非静态方法可以访问静态变量和静态方法,也可以访问非静态的成员变量和非静态的成员方法
  • 静态方法中没有this关键字

继承

java提供了一个关键字extends,用这个关键字,可以让一个类和另一个类建立继承关系

继承的好处

  • 提高了代码的复用性
  • 子类可以在父类的基础下,增加其他功能,使子类功能更加强大。

继承的特点

Java只支持单继承,不支持多继承,但支持多层继承

子类不能继承父类的构造方法

子类可以继承父类的成员变量,但不能直接使用父类中被private修饰的成员变量

只有父类中的虚方法(非private 非static 非final)才能被子类继承

继承中成员变量的调用方法 :就近原则

方法的重写

当父类的方法不能满足子类的需求时,需要进行方法重写

书写格式

在继承体系中,子类出现与父类一样的方法声明,我们就称子类的方法是重写的方法。

@override重写注解

@override放在重写的方法上面,验证子类重写的方法是否正确

方法重写的要求

重写方法的名称,形参列表必须与父类一致

重写方法时,访问权限子类必须>=父类

重写方法时,返回值类型必须<=父类

只有被添加到虚方法表的方法才能被重写

this关键字

理解成一个变量,表示当前方法调用者的地址值

super关键字

代表父类存储空间

| 关键字 | 访问成员变量 | 访问成员方法 | 访问构造方法 |
| this | this.成员变量 访问本类成员变量 | this.成员方法() 访问本类成员方法 | this(...) 访问本类构造方法 |

super super.成员变量 super.成员方法() 访问父类成员方法 super(...) 访问父类构造方法
相关推荐
西岸行者4 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意4 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码4 天前
嵌入式学习路线
学习
毛小茛4 天前
计算机系统概论——校验码
学习
babe小鑫4 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms4 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下4 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。4 天前
2026.2.25监控学习
学习
im_AMBER4 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J4 天前
从“Hello World“ 开始 C++
c语言·c++·学习