Java学习笔记(static静态变量)

news2024/11/23 17:23:53

static

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

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

静态变量的特点:

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

调用方式:

  • 类名调用(推荐)
  • 对象名调用 

静态方法的特点:

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

调用方式:

  • 类名调用(推荐)
  • 对象名调用

工具类:帮助我们做一些事情的,但是不描述任何事物的类

 要求:

  1. 类名见名知意
  2. 私有化构造方法
  3. 方法定义为静态

工具类练习:

package com.itheimaa01staticdemo1;

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]).append(",");
            }
        }
        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;
    }
}

package com.itheimaa01staticdemo1;

public class TestDemo {
    public static void main(String[] args) {
        //测试工具类中的两个方法是否正确
        int[] arr1={1,2,3,4,5};
        String str = ArrayUtil.printArr(arr1);
        System.out.println(str);
        double[] arr2={1.5,3.7,4.9,5.8,6.6};
        double av = ArrayUtil.getAverage(arr2);
        System.out.println(av);
    }
}

前面还有Javabean没写

package com.itheima;

import java.util.ArrayList;

public class Test {
    public static void main(String[] args) {
        //创建一个集合用来存储学生对象
        ArrayList<Student> list =new ArrayList<>();
        //创建三个学生对象
        Student stu1=new Student("zhangsan",18,"男");
        Student stu2=new Student("lisi",19,"女");
        Student stu3=new Student("wangwu",25,"男");
        //将学生对象添加到集合当中
        list.add(stu1);
        list.add(stu2);
        list.add(stu3);
        //调用工具类中的方法
        int maxage=StudentUtil.getMaxAgeStudent(list);
        System.out.println(maxage);
    }

}

 

package com.itheima;

import java.util.ArrayList;

public class StudentUtil {
    private StudentUtil(){};
    //静态方法
    public static int getMaxAgeStudent(ArrayList<Student>list)
    {
        //定义一个参照物
        int max=list.get(0).getAge();
        //循环遍历集合
        for (int i = 1; i < list.size(); i++) {
            if(list.get(i).getAge() >max){
                max=list.get(i).getAge();
            }
        }
        return max;
    }
}

 static 的注意事项

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/721816.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[golang gin框架] 39.Gin商城项目-微服务实战之微服务架构

一.引入 单体架构在 中小企业内部用的是非常多的&#xff0c;当 业务不复杂&#xff0c; 团队规模不大的时候&#xff0c;单体架构比微服务架构具有 更高的生产率 单体架构 当 业务比较复杂, 并发量比较大, 团队规模扩大的时候, 就需要引入微服务架构了,它比单体架构具有 更高的…

moven项目生成和运行

[TOC]moven学习笔记 生成maven项目 mkdir movenT cd movenT/ mvn -B archetype:generate -DgroupIdcom.mycompany.app -DartifactIdmy-app -DarchetypeArtifactIdmaven-archetype-quickstart -DarchetypeVersion1.4 tree 生成jar mvn package 运行 class cd /root/moven…

青岛大学_王卓老师【数据结构与算法】Week04_08_线性表的应用1_学习笔记

本文是个人学习笔记&#xff0c;素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享&#xff0c;另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权&#xff0c;请留言作删文处理。 课程视频链接&#xff1a; 数据结构与算法基础–…

scratch 抓狐狸

scratch 抓狐狸 本程序的功能是通过键盘控制“男孩”角色移动&#xff08;程序用的是旋转形式实现上下移动&#xff0c;后来才发现有直接改变y坐标的模块&#xff09;&#xff0c;“狐狸”角色连续在随机位置、随机方向生成&#xff0c;程序显示在场“狐狸”的数量&#xff0c;…

ChatGPT显示付费墙内容,OpenAI把联网功能关了

ChatGPT 学会上网不到两个月&#xff0c;OpenAI就不能忍了。 本周二&#xff0c;OpenAI 突然宣布停止 ChatGPT 的网络浏览功能「使用 Bing 浏览」。 果不其然&#xff0c;关闭的原因是这项功能遭到了滥用。在周一发布的一篇文章中&#xff0c;OpenAI 支持团队人员表示&#xf…

css基础知识十七:如何使用CSS完成视差滚动效果?

一、是什么 视差滚动&#xff08;Parallax Scrolling&#xff09;是指多层背景以不同的速度移动&#xff0c;形成立体的运动效果&#xff0c;带来非常出色的视觉体验 我们可以把网页解刨成&#xff1a;背景层、内容层、悬浮层 当滚动鼠标滑轮的时候&#xff0c;各个图层以不同…

机器学习22:机器学习工程落地注意事项-II(公平-Fairness)

负责任地评估机器学习模型需要做的不仅仅是计算损失指标。在将模型投入实际应用之前&#xff0c;审核训练数据并评估偏见&#xff08;Bias&#xff09;对预测至关重要。本文内容着眼于解读训练数据中可能存在的不同类型的人类偏见&#xff0c;同时提供了识别它们并评估其影响的…

Python爬虫与数据挖掘在外汇市场分析中的应用

外汇市场是全球最大的金融市场之一&#xff0c;每天的交易量可以达到几万亿美元。深入了解外汇市场的趋势和变化对于投资者来说至关重要&#xff0c;因为即使是微小的价格波动也可能导致巨额利润或损失。从过去的历史数据中抽取经验教训&#xff0c;并使用数据挖掘算法来预测未…

xDS协议

xDS xDS协议是"X Discovery Service"&#xff0c;这里的X表示它不是指具体的某个协议&#xff0c;是一组基于不同数据源的服务发现协议的总称&#xff0c;包括CDS&#xff0c;LDS&#xff0c;EDS&#xff0c;RDS和SDS等。客户端可以用噶多种方式获取数据资源&#x…

【SAP UI5 控件学习】DAY01 Input组Part I

UI5常用控件 1.Input组 1.1 Feed Input控件 这个控件通常是用来显示发布评论的。它可以显示用户头像&#xff0c;并且在内容输入方面&#xff0c;可以设置PlaceHolder&#xff0c;自增扩展大小&#xff0c;限制行数&#xff0c;以及限制字数等诸多设置。 1.1.1 没有头像的输…

电压放大器的应用领域有哪些

电压放大器是一种电子器件&#xff0c;其主要作用是将输入信号的电压放大到输出端。在现代电子技术中&#xff0c;电压放大器被广泛应用于各种领域&#xff0c;包括通信、医疗、工业控制、汽车电子等。下面安泰电子就来详细了解一下电压放大器的应用领域。 通信领域&#xff1a…

软考:中级软件设计师:系统总线,系统可靠性,串联和并联可靠度

软考&#xff1a;中级软件设计师:系统总线&#xff0c; 提示&#xff1a;系列被面试官问的问题&#xff0c;我自己当时不会&#xff0c;所以下来自己复盘一下&#xff0c;认真学习和总结&#xff0c;以应对未来更多的可能性 关于互联网大厂的笔试面试&#xff0c;都是需要细心…

4.39ue4:ue4表格设置、读取

1.创建表格&#xff0c;内容浏览器&#xff0c;右键&#xff0c;其他&#xff0c;数据表格&#xff0c;下拉选择一个数据结构类型的起始项。 2.被选择的数据结构将以表格的形式列出数据。 3.使用方式&#xff1a; i: 输出一行数据&#xff08;text&#xff09; ii&#xff…

Stable Diffusion 图片生成AI模型 Windows Mac部署指南

Stable Diffusion是2022年发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像&#xff0c;它也可以应用于其他任务&#xff0c;如内补绘制、外补绘制&#xff0c;以及在提示词​&#xff08;英语&#xff09;指导下产生图生图的翻译。 DreamStudio 现已…

一条MYSQL记录是如何储存的

主要还是看MYSQL默认的储存引擎 InnoDB 每个创建一个数据库 就会在/var/lib/mysql/ 目录里面创建一个以 database 为名的目录 目录里面包含以下三个文件 db.opt&#xff0c;用来存储当前数据库的默认字符集和字符校验规则。(数据库的数据)t_order.frm &#xff0c;t_order 的…

html---链接跳转案例

目录 一、要求&#xff1a;设置一个网页如下图所示&#xff0c;可实现首页、列表页、详情页、登录页链接 二、实现&#xff1a;实现代码及截图如下 三、寄语 一、要求&#xff1a;设置一个网页如下图所示&#xff0c;可实现首页、列表页、详情页、登录页链接 二、实现&…

飞书深诺、恒生面试(部分)(未完全解析)

飞书深诺 说一下你对SaaS项目的理解&#xff1f;数据隔离是怎么处理的&#xff1f;Answer: 我们采用的是SAAS服务多租户数据隔离架构中的1.3共享数据库&#xff0c;通过租户ID来隔离&#xff0c;成本最低&#xff0c;隔离级别最低。Q&#xff1a;有没有开发隔离的中间件&#x…

shopee,lazada卖家如何提高店铺权重,带来更多销量

1、优化标题关键词 标题关键词可以在很大程度上影响产品的显示&#xff0c;如果商店自然流量低&#xff0c;必须检查标题是否选择合适的关键词&#xff0c;如果关键词不合适需要优化并进行更换&#xff0c;可以选择一些准确的长尾关键词获得准确的流量&#xff0c;如果收集产品…

在Linux中查找用户帐户信息和登录详细信息的11种方法

在Linux系统中&#xff0c;用户帐户和登录详细信息对于系统管理和安全非常重要。本文将介绍 11 种在 Linux 系统查找用户相关信息的有用方法。这里&#xff0c;我们会讲解在系统中获取一个用户账户详细信息、展示登录详细信息以及用户行为数据的命令。 首先&#xff0c;我们会…

【ARM7.5作业】

作业1 作业2 代码实现&#xff1a; head.h #ifndef __UART4_H__ #define __UART4_H__#include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_uart.h"//初始化相关操作 void hal_uart4_init();//发送一个字符 void h…