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;
            }
        }
    }
  • 相关阅读:
    2级联动下拉列表写法
    select选中获取索引三种写法
    判断设备-安卓|苹果|微信
    限制输入字符个数的jq插件
    面试题:1.清空字符串前后的空格;2.找出出现最多的字符
    css3玩转各种效果【资源】
    利用jquery.touchSwipe.js实现的移动滑屏效果。
    【leetcode刷题笔记】Letter Combinations of a Phone Number
    【leetcode刷题笔记】Linked List Cycle
    【leetcode刷题笔记】Length of Last Word
  • 原文地址:https://www.cnblogs.com/wyj96/p/11763242.html
Copyright © 2011-2022 走看看