zoukankan      html  css  js  c++  java
  • static关键字

    static的作用

    用于修饰类成员:

                                    成员变量:类变量

                                    成员方法:类方法

    调用方式: 可以通过类名.成员变量名(成员方法名)直接调用

    1、static修饰成员变量

    可以被本类所有对象共享

    eg:定义研发部成员类,让每位成员进行自我介绍

    package com.wang.duixiang;
    
    public class StaticDemo01 {
        public static void main(String[] args) {
           Developer developer=new Developer();
           developer.setName("小黑");
           developer.setWork("写代码");
           developer.selfIntroduction();
           Developer developer1=new Developer();
           developer1.setWork("鼓励师");
           developer1.setName("远远");
           developer1.selfIntroduction();
           /*//修改有static修饰的变量
            Developer.developmentName="开发部";
            developer.selfIntroduction();
            developer1.selfIntroduction();
            不可随意修改,所以有static修饰的变量前面加final
            */
        }
    }
    class Developer{
        public final static String DEPARTMENT_NAME="研发部";
        private String name;
        private String work;
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getName() {
            return name;
        }
    
        public void setWork(String work) {
            this.work = work;
        }
    
        public String getWork() {
            return work;
        }
        public void selfIntroduction(){
            System.out.println("我是+"+DEPARTMENT_NAME"部门的"+getName()+",我的工作是"+getWork());
        }
    }
    2、static修饰成员方法

    静态方法:静态方法中没有对象this,所以不能访问非静态成员

    静态方法的使用场景:只需要访问静态成员

                                          不需要访问对象状态,所需参数都由参数列表显示提供。即当调用一个方法的时候,想通过                     类名.的形式调用,而不是通过对象名.的形式调用。就可以使用静态方法

    eg:定义静态方法,反转数组中的元素

    package com.wang.duixiang;
    //定义静态方法,反转数组元素
    public class StaticDemo02 {
        public static void main(String[] args) {
            //静态方法通过类名直接调用
         ReverseArray.show();
            System.out.println("=======================================");
            int[] array={1,6,4,5,2,3};
            for (int i=0;i<array.length;i++){
                System.out.print(array[i]+"  ");
            }
            System.out.println();
            ReverseArray.reverse(array);
            for (int i=0;i<array.length;i++){
                System.out.print(array[i]+"  ");
            }
        }
    }
    class ReverseArray{
        int num1=10;
        static int num2=20;
        public static void show(){
            //System.out.println(num1);静态方法不能访问非静态成员
            System.out.println(num2);
        }
        public static void reverse(int[] array){
            //交换元素  反转其实就是数组中array[i]和array[array.length-1-i]进行交换
            //明确交换次数
            for(int i=0;i<array.length/2;i++){
                int temp=array[i];
                array[i]=array[array.length-1-i];
                array[array.length-1-i]=temp;
            }
        }
    }
  • 相关阅读:
    10.25T2 二维线段树
    10.25T1 模拟+栈
    10.24T3 解方程 取模意义下运算+秦九韶算法
    10.24T2 树链剖分
    10.24T1 树形DP
    10.23T3 杨辉三角上做莫队
    10.23T2 二分+二分图(滑稽)
    10.23T1 杨辉三角
    10.22T6 水题
    10.22T4 模拟DP
  • 原文地址:https://www.cnblogs.com/wyj96/p/11763242.html
Copyright © 2011-2022 走看看