• Java面向对象进阶1——static修饰符


    一、前言

    从本文开始是面向对象的进阶学习,会进一步讲解有关面向对象的知识,本文主要是讲述有关static的知识点

    二、概述

    • statia是一个修饰符,用来修饰成员方法成员变量

    • static关键字在Java开发非常的重要,对于理解面向对象非常关键

    三、静态变量

    1.概述

    当 static 修饰成员变量,说明这个成员变量是属于类的,这个成员变量称为 类变量静态成员变量

    2.特点

    • 被该类所有对象共享
    • 不属于对象
    • 属于类
    • 随着类的加载而加载,优先对象存在

    3.格式

    修饰符 static 数据类型 变量名 = 初始值;

    4.调用方式

    • 类名调用

    类名.静态变量名

    例:Person.gender

    • List item

    对象名使用

    5.代码演示

    public class Student {
    
        //定义成员变量
        private String name;
        private String gender;
        private  int age;
        public static String teacher;
    
        //空参构造
        public Student(){
        }
    
        //带参构造
        public Student(String name, String gender, int age){
            this.name = name;
            this.gender = gender;
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getGender() {
            return gender;
        }
    
        public void setGender(String gender) {
            this.gender = gender;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public void show(){
            System.out.println(name + "," + gender + "," + age + ",他的老师是:" + teacher);
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    public class StudentTest {
        public static void main(String[] args) {
    
            Student s1 = new Student();
            s1.setName("张三");
            s1.setGender("男");
            s1.setAge(18);
            s1.teacher = "王老师";
            s1.show();
    
    
            Student s2 = new Student();
            s2.setName("李四");
            s2.setGender("男");
            s2.setAge(20);
            s2.show();
    
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    在这里插入图片描述

    四、静态方法

    1.概述

    当static修饰成员方法时,则说明这个成员方法是属于类的,那么这个成员方法称为 类方法 或者 静态方法

    2.特点

    • 多用于测试类和工具类中
    • 在Javabean类中很少会使用

    🟡工具类

    不描述任何事物,只帮助我们实现某一功能的类;如:求和、就平均数等
    其特点如下

    • 类名要见名知意
    • 私有化构造方法
    • 方法定义为静态

    3.格式

    public static void 方法名(){ ... }

    4.访问静态方法

    类名.方法名称

    5.代码实现

    public static void  main(String[] args){
        Student.study();
    }
    
    • 1
    • 2
    • 3

    五、注意事项

    • 静态方法只能访问静态变量和静态方法

    • 非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法

    • 静态方法中是没有this关键字

    六、结语

    无static修饰的成员变量或者成员方法,称为实例变量,实例方法,实例变量和实例方法必须创建类的对象,然后通过对象来访问,且必须用对象来调用

  • 相关阅读:
    【word日常操作】word里面表格已经设置了重复标题行,但是显示无效怎么办
    ARM32开发——GPIO输入
    docker 安装composer来搭建laravel环境的问题
    vscode提示扩展主机在过去5分钟内意外终止了3次,解决方法
    第三十四篇 生命周期 - 易理解
    Web会话跟踪技术
    创建 PHP 文本验证码
    Egg 1. 快速开始 Quick Start 1.3 一步步 Step by Step 1.3.3 添加静态资源 & 1.3.4 添加渲染模板
    Linux 下的 动静态库
    1. 刷题——数组
  • 原文地址:https://blog.csdn.net/Alita233_/article/details/126282310