zoukankan      html  css  js  c++  java
  • this不能使用在带有static的方法当中

     1 package this关键字01;
     2 
     3 public class Method {
     4     // 姓名
     5     String name;
     6 
     7     // 构造方法
     8     public Method() {
     9 
    10     }
    11 
    12     public void shopping() {
    13         System.out.println(this.name + "在购物");
    14 
    15         /*
    16          * 引用.来调用name this可以出现在“实例方法当中”,就代表当前正在执行这个行为或动作的对象。
    17          */
    18     }
    19 
    20     public static void dosome() {
    21         // 为什么会报错呢?
    22         // dosome方法不是对象去调用,是一个类名去调用,执行过程中没有“对象”
    23         // name是一个实例变量,以下代码的含义是:访问当前对象的name。没有当前对象,自然也不能访问当前对象的name
    24         // 去掉static的话就必须用c1对象去访问实例变量,这时就有了对象。
    25         // static的方法调用不需要对象,直接使用类名,所以执行过程中没有当前对象,所以不能用this。
    26         // System.out.println(name);
    27     }
    28     public static void doother(){
    29         //假设想访问name这个实例变量的话应该怎么做?
    30         //可以采用以下方案,但是不是访问的当前对象的name
    31         //创建对象.
    32         Method c=new Method();
    33         System.out.println(c.name);//这里访问的name是c引用指向对象的name。
    34         
    35     }
    36 
    37 }
  • 相关阅读:
    认证与授权(访问控制)
    文件上传漏洞
    注入攻击
    HTML 5 安全
    Linux添加开机启动命令
    mysql开启远程访问权限
    mysql_connect() php7不支持,php5.5可以,是废弃函数
    REGEXP 正则的实现两个字符串组的匹配。(regexp)
    文章排序权重
    Redis 基本操作
  • 原文地址:https://www.cnblogs.com/longlonglonglong/p/10872586.html
Copyright © 2011-2022 走看看