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

简介: 无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);
    }
}


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();
    }
}

22a7558c8fce4d9c948d266cd63dd61a.png


四、静态方法


1.概述


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


2.特点


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


🟡工具类


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


其特点如下


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


3.格式


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


4.访问静态方法


类名.方法名称


5.代码实现


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


五、注意事项


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


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


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


六、结语


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

相关文章
|
18天前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
19 1
|
1月前
|
设计模式 JavaScript 前端开发
java中的static关键字
欢迎来到瑞雨溪的博客,博主是一名热爱JavaScript和Vue的大一学生,致力于全栈开发。如果你从我的文章中受益,欢迎关注我,将持续分享更多优质内容。你的支持是我前进的动力!🎉🎉🎉
51 8
|
1月前
|
JavaScript 前端开发 Java
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。如果你从我的文章中受益,欢迎关注我,我将持续更新更多优质内容。你的支持是我前进的动力!🎉🎉🎉
24 0
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
|
1月前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
37 2
|
1月前
|
存储 Java
Java 中的静态(static)
【10月更文挑战第15天】静态是 Java 语言中一个非常重要的特性,它为我们提供了一种方便、高效的方式来管理和共享资源。然而,在使用过程中,我们需要谨慎考虑其优缺点,以确保代码的质量和可维护性。
|
2月前
|
Java 程序员
Java 面试高频考点:static 和 final 深度剖析
本文介绍了 Java 中的 `static` 和 `final` 关键字。`static` 修饰的属性和方法属于类而非对象,所有实例共享;`final` 用于变量、方法和类,确保其不可修改或继承。两者结合可用于定义常量。文章通过具体示例详细解析了它们的用法和应用场景。
38 3
|
2月前
|
Java 编译器
在Java中,关于final、static关键字与方法的重写和继承【易错点】
在Java中,关于final、static关键字与方法的重写和继承【易错点】
28 5
|
2月前
|
Java
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
这篇文章详细解释了Java中static和final关键字的用法,包括它们修饰类、方法、变量和代码块时的行为,并通过代码示例展示了它们的具体应用。
249 0
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
|
3月前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
36 4
|
2月前
|
存储 Java 程序员
Java基础-面向对象
Java基础-面向对象
20 0