【java面向对象中static关键字】

这篇具有很好参考价值的文章主要介绍了【java面向对象中static关键字】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提纲

  • static修饰成员变量
  • static修饰成员变量的应用场景
  • static修饰成员方法
  • static修饰成员方法的应用场景
  • static的注意事项
  • static的应用知识:代码块
  • static的应用知识:单例设计模式

static静态的意思,可以修饰成员变量,成员方法;

  • static修饰成员变量:
    1.有static修饰的成员变量叫做类变量;
    a.类名.变量名 (推荐这样进行调用);
    b.类变量与类一起加载一次,内存中只有一份,被所有对象共享;
    c.在本类中访问类变量可以省略类名,访问其他类的类变量不能省略;
    【java面向对象中static关键字】,java基础,java,开发语言,static
    【java面向对象中static关键字】,java基础,java,开发语言,static
    【java面向对象中static关键字】,java基础,java,开发语言,static
  • static修饰成员变量的应用场景
    在开发中如果某个数据只需要一份,并且可以被共享(访问,修改),可以将其定义为类变量;

案例:

【java面向对象中static关键字】,java基础,java,开发语言,static
注意:在本类访问类变量可以省略类名,其他类中不可以;

  • static修饰成员方法
    static修饰成员方法叫做类方法;
    a.类方法可以使用类名直接调用(推荐调用方法);
    b.静态方法只能调用静态的方法;
    c.类方法中可以直接访问类成员,不能访问实例成员;
    d.实例方法中既可以访问类变量,也可以访问实例变量;
    e.实例方法中可以出现this关键字,类方法中不能出现this关键字;
    (静态方法中不能用this关键字,因为this是个引用,哪个对象调用方法就引用哪个对象。 而静态方法有可能不是被对象调用的,this无从引用。类方法是属于类本身的 所有对象共享 this表示当前实例的引用 静态方法中不能引用非静态实例成员);

  • 应用
    类方法常用于工具类(until)(为了防止创建对象浪费内存,其次为了方便调用)

- 扩展-工具类
a.工具类的方法都是类方法,方便调用,每个类方法用来完成一个功能;
b.类名见名知意,空参构造私有化;

  • static修饰代码块
    代码块是类的5大成分之一(成员变量、构造器、方法、代码块、内部类)

static修饰的代码块是静态代码块
格式:static { }
特点:类加载时自动执行,由于类只会加载一次,所以静态代码块也只会执行一次。
作用:完成类的初始化,例如:对类变量的初始化赋值。

实例代码块:
格式:{ }
特点:每次创建对象时,执行实例代码块,并在构造器前执行。
作用:和构造器一样,都是用来完成对象的初始化的,例如:对实例变量进行初始化赋值。

static的应用

设计模式(Design pattern) ?
一个问题通常有n种解法,其中肯定有一种解法是最优的,这个最优的解法被人总结出来了,称之为设计模式。
设计模式有20多种,对应20多种软件开发中会遇到的问题。
单例设计模式(确保类只有一个对象)

饿汉
把类的构造器私有。
定义一个类变量记住类的一个对象。
定义一个类方法,返回对象。
【java面向对象中static关键字】,java基础,java,开发语言,static
懒汉文章来源地址https://www.toymoban.com/news/detail-649672.html

class RunTime{
    //1.私有化的空参构造
    private RunTime(){}
    //2.类变量记录一个对象,不做初始化
    private static RunTime runTime;
    //3.定义一个类方法,判断返回值
    public static RunTime getObiect(){
        if(runTime == null){
            runTime = new RunTime();
        }
        return runTime;
    }

}

到了这里,关于【java面向对象中static关键字】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java面向对象——继承以及super关键字

    在 同⼀类 中,存在⽅法名相同,参数列表不同(个数、类型或顺序不同)的⽅法互为重载。 在 继承关系 中,⼦类声明⼀个继承⾃⽗类的⽅法名相同、参数列表相同,返回值类型⼀致,访问修饰符相同或 变⼤,抛出异常相同或缩⼩的⽅法称为重写。 重载是编译时多态,重写

    2024年02月12日
    浏览(39)
  • 第1关:学习-Java类和对象之static关键字之求圆环面积和周长

    本关任务:已知圆环的大圆半径 R 和 小圆半径 r 的长度分别为 32.0 和 10.0,求该圆环的面积和周长。 圆环面积公式为:S=π(R 2−r 2 ); 圆环周长公式为:C=2π(R+r)。 /** 任务:已知圆环的大圆半径 R 和 小圆半径 r 的长度分别为 32.0 和 10.0,求该圆环的面积和周长。 类名为:Ri

    2023年04月08日
    浏览(59)
  • Java 面向对象 03 就近原则和this关键字

    对于起名字需要见名知意,所以这个String n 不太合适: 但是如果将n改为name,会与第五行代码的name重复: 运行代码发现,获取后的姓名为默认值,是null 引入就近原则: 此处打印的是age=10,但是如果想使用成员位置的age ,应该使用this 代码: 运行结果: 使用this关键

    2024年01月21日
    浏览(49)
  • Java 基础进阶篇(一)——— static 静态关键字与单例模式

    static:代表静态的意思,可以修饰成员变量,可以修饰成员方法。 static 修饰方法之后称为 静态方法(类方法) ,修饰成员变量之后称为 静态成员变量(类变量) 。 static 修饰后的成员变量, 可以被类的所有对象共享 (访问、修改) 。 静态成员变量 实例成员变量 概述 有

    2024年02月01日
    浏览(86)
  • instanceof、对象类型转化、static关键字

    instanceof是判断一个对象是否与一个类有关系的   先看引用类型,再看实际类型 * 例子:obj instanceof A 先看obj的类型是否与A有关联,无关联则报错,有关联则判断obj的实际类型 因为obj的实际类型是son,所以String类与他无关,所以返回false 对象类型转换: 发生在父子之间

    2024年02月02日
    浏览(42)
  • 我在VScode学Java类与对象(Java显式参数和隐式参数、静态方法+main方法、Java访问修饰符、static关键字、Java的包、对象数组)第三辑

    我的个人博客主页:如果’\\\'真能转义1️⃣说1️⃣的博客主页 关于Java基本语法学习----可以参考我的这篇博客:《我在VScode学Java》 方法会操作对象并访问他们的实例字段。 在Java中,显式参数和隐式参数是方法调用中的两种不同类型的参数。 注释: 第7行: sum 方法的参数

    2024年02月16日
    浏览(109)
  • 【java】static关键字

    类与对象的关系 类是构建对象的模板,一个类可以构建多个对象。 类在 方法区 当中,对象在 堆 中。 static修饰的变量是 独属于类 的变量,没有给对象。 运行结果  static修饰的变量究竟储存在什么地方 在 方法区 当中有 静态常量池 ,static修饰的变量被放在静态常量池中,

    2024年04月15日
    浏览(32)
  • Java static 关键字

    Java 中的 static 是一个非常重要的概念,它可以用来修饰变量、方法和代码块。 static 用于修饰类的成员,包括变量、方法和代码块。使用 static 修饰的成员被称为静态成员,它们属于类而不是对象,可以被类的所有实例共享。 1. 静态变量 使用 static

    2024年02月11日
    浏览(37)
  • 面向对象编程(进阶)1:关键字:this

    目录 1.1 this是什么? 1.2 什么时候使用this 1.2.1 实例方法或构造器中使用当前对象的成员 举例1: 举例2: 测试类: 1.2.2 同一个类中构造器互相调用 注意: 1.3 练习 **练习1:** 练习2: 在Java中,this不算难理解,它的作用和其词义很接近。 它在方法(准确的说是实例方法

    2023年04月13日
    浏览(46)
  • 【Java入门】final关键字、static关键字、内部类的认识

    前言 : final是Java中的一个修饰符,用于表示某个变量、方法或者类不能被修改。final可以用于修饰类、方法和变量(局部变量,成员变量)。被final所修饰的类不能被继承,被final所修饰的方法不能被重写,被final所修饰的变量,不能被重新赋值 。 static是Java中的一

    2024年02月11日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包