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

    This:表示是一个对象的默认引用,总是指向调用该方法的对象,根据this出现的位置不同,this作为对象的引用有两种情形:

              1、构造器中引用该构造器执行初始化的对象!

              2、在方法中引用调用该方法的对象!

    Static:静态的,不依赖对象,依赖类(类级别)

               可以在对象中共享

    class Tt{
       static int a;
    }
     
    public class Main {
       public static void main(String[] args) {
          Tt tt1=new Tt();
          tt1.a++;
          System.out.println(tt1.a);
          System.out.println("*************");
          Tt tt2=new Tt();
          tt2.a++;
          System.out.println(tt2.a);
       }
    }

    这里第一次打印tt1.a时等于1;

    第二次打印时因为重新new了对象理应tt2.a也等于1,但是由于a属性加了static所以不依赖对象而是依赖类,可以在对象中共享,所以tt2.a是基于tt1.a上等于2!

    static方法中不可以直接调用非static的属性和方法;想要使用必须new新对象,用对象调用!

    Static三个说明:

    1、      静态变量 :类级别变量,是这个类的变量而不是某一个对象的变量。可以用类名调用(当然也可以用对象调用),所有的对象所使用的静态变量所使用的是同一份(一个类生产多个对象时,用一个对象改变了一个静态变量,那么所有对象的这个静态变量都会改变,堆中这个“静态区”,专门放置静态变量区)。

    2、      静态函数:可以直接用类名调用,在静态函数中不能用this(在静态函数中不能直接使用非静态成员函数和非静态成员变量,静态函数中只能用静态成员变量)如果一个函数不使用成员变量(不受哪个对象调用该对象左右)理论上就可以定义成静态函数,一般来讲“工具函数”定义为静态函数

    3、      静态代码块

    Static{

                Sysout(“静态代码块!”);

    }                                                优于主函数运行(类在装载的时候执行)

    1给静态变量赋初始值2装载本地代码(native->c、c++)

  • 相关阅读:
    mybatis Column 'XXX' in where clause is ambiguous 错误
    IDEA 代码提示不区分大小写
    接口安全问题
    spring 事务问题
    js问题: is not a function
    Uncaught TypeError: form.attr is not a function 解决办法
    springmvc 跳转页面或者返回json
    ajax 跳转页面时添加header
    maven工程 添加本地jar依赖
    mysql 创建备份表
  • 原文地址:https://www.cnblogs.com/maxinliang/p/2771583.html
Copyright © 2011-2022 走看看