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

    成员变量分为实例变量和类变量,方法也可以分为实例方法和类方法,用static修饰的变量为类变量用static修饰的方法为类方法

    实例变量和类变量的区别

    每个对象的实例变量都分配内存,通过该对象来访问这些实例变量,类变量仅在生成第一个对象时分配内存。



    所有实例对象共享一个类变量,每个实例对象对类变量的改变会影响其他实例对象。类变量可以通过类名直接访问不需要生成实例对象,也可以通过实例对象访问

    例如

    class Rectangle{
        float 长;
        static float 宽;
        Rectangle(float x,float y){
            长=x;
            宽=y;
        }
        float 获取宽(){
            return 宽;
        }
        void 修改宽(float b){
            宽=b;
        }
    }
    
    
    public class ep_1 {
        public static void main(String[] args){
            Rectangle Rectone=new Rectangle(10f,12f);
            Rectangle Recttwo=new Rectangle(16f,12f);
            Rectangle.宽=15;//通过类名操作类变量赋值
            System.out.println("Rectone宽"+Rectone.获取宽());
            System.out.println("Recttwo宽"+Recttwo.获取宽());
            Recttwo.修改宽(16);//通过对象操作类变量
            System.out.println("Rectone修改宽"+Rectone.获取宽());
            System.out.println("Recttwo修改宽"+Recttwo.获取宽());
                    
            
        }
    
    }

    运行结果

    Rectone宽15.0
    Recttwo宽15.0
    Rectone修改宽16.0
    Recttwo修改宽16.0

    实例方法和类方法区别

    实例方法可以对当前的对象的 实例变量进行操作也可以对类本来进行操作,实例方法由实例对象调用。类方法不能访问实例变量只能访问类变量,类方法可以由类名直接调用也可以由实例对象调用。类对象不能使用this,super关键字

  • 相关阅读:
    JAVA传值与传址
    JAVA中的栈和堆
    for语句输出图形
    Linux下ps命令详解(转载)
    BMC介绍
    JVM 优化、内存泄露排查、gc.log 分析方法等(转载)
    动态从zookeeper读取kafka信息
    centos 查看文件系统类型
    TCPdump抓包命令详解
    Linux Tab键自动补齐
  • 原文地址:https://www.cnblogs.com/gc56-db/p/6718809.html
Copyright © 2011-2022 走看看