zoukankan      html  css  js  c++  java
  • 面向对象(static关键字的特点)

    static关键字的特点
    * a:随着类的加载而加载
    * b:优先于对象存在
    * c:被类的所有对象共享
    * 举例:咱们班级的学生应该共用同一个班级编号。
    * 其实这个特点也是在告诉我们什么时候使用静态?
    * 如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的。
    * 举例:
    * 饮水机(用静态修饰)
    * 水杯(不能用静态修饰)
    * 共性用静态,特性用非静态
    * d:可以通过类名调用
    * 其实它本身也可以通过对象名调用。
    * 推荐使用类名调用。
    * 静态修饰的内容一般我们称其为:与类相关的,类成员

    static的注意事项
    * a:在静态方法中是没有this关键字的
    * 如何理解呢?
    * 静态是随着类的加载而加载,this是随着对象的创建而存在。
    * 静态比对象先存在。
    * b:静态方法只能访问静态的成员变量和静态的成员方法
    * 静态方法:
    * 成员变量:只能访问静态变量
    * 成员方法:只能访问静态成员方法
    * 非静态方法:
    * 成员变量:可以是静态的,也可以是非静态的
    * 成员方法:可是是静态的成员方法,也可以是非静态的成员方法。
    * 简单记:
    * 静态只能访问静态。

    public class test02 {
        public static void main(String[] args) {
            Demo d = new Demo();
            d.print1();
            
            Demo.print2();
    
     }
    }
    
    class Demo{
        int num1 = 10;             //非静态的成员变量
        static int num2 = 20;    //静态的成员变量
        
        public void print1() {    //非静态的成员方法,既可以访问静态的成员方法也可以访问非静态的成员方法
            System.out.println(num1);
            System.out.println(num2);
        }
        
        public static void print2() { //静态的成员方法
        //    System.out.println(num1); //静态的成员方法不能访问非静态的,会报错
            System.out.println(num2);
        }
    }
  • 相关阅读:
    Zend Studio下调试PHP的一点注意事项
    使用FTP出现中文乱码解决方案
    C++数据类型与C#对应表
    FineUI 开发B/S系统
    c#调用带输出参数的存储过程
    经典FormsAuthenticationTicket 分析
    C# Oracle数据库操作类实例详解
    如何使用C#的Hashtable[哈希表]
    对三层架构的理解
    C# 最简单的三层架构实例 ——转载自网易博客
  • 原文地址:https://www.cnblogs.com/happystudyhuan/p/10705532.html
Copyright © 2011-2022 走看看