• 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修饰的成员变量或者成员方法,称为实例变量,实例方法,实例变量和实例方法必须创建类的对象,然后通过对象来访问,且必须用对象来调用

  • 相关阅读:
    Three.js使用shader根据高度渐变染色
    Rocketmq学习3——消息发送原理源码浅析
    顺序表(下)
    [附源码]计算机毕业设计springboot面包连锁店管理系统
    目标检测DiffusionDet: Diffusion Model for Object Detection
    Windows10系统修复方法
    Java的运算符
    Taurus.MVC 微服务框架 入门开发教程:项目集成:1、服务端:注册中心、网关(提供可运行程序下载)。
    UE——导航系统(NavigationSystem)
    软件工程计算机操作系统
  • 原文地址:https://blog.csdn.net/Alita233_/article/details/126282310