Java连载41-this关键字其他注意事项、static方法

一、this关键字

1.this在多数情况下都会省略

2.this不能用在含有static的方法之中。

3.static的方法的调用是不需要对象的,直接使用格式:类名.方法名;没有当前对象,自然不能访问当前对象的name。

package com.bjpowernode.java_learning;

?

public class D41_ {

  String name2 = "fjajf";

  public static void main(String[] args) {

    String name1 = "zhangsan";

    Customer2 c1 = new Customer2();

    c1.name = name1;

    Customer2.dosome(name1);

    c1.dosome2();

    //System.out.println(name2);编译报错,下面才是对的

    D41_ d1 = new D41_();

    System.out.println(d1.name2);

  }

?

}

class Customer2{

  String name;

  public static void dosome(String name) {

    System.out.println(name);//一开始写了this.name,导致编译错误,这是因为这是个静态方法,所以

    //不能用this,this只可以用于对象调用的情况,也就是实例方法。

  }

  public void dosome2() {

    System.out.println(this.name);//这种不带static的方法才是对象的方法。

  }

}

4.在static方法之中不能直接访问实例变量和实例方法,因为实例方法和实例变量都是需要对象存在才可以,而static的方法之中,是没有this的,也就是说,当前对象是不存在的,自然也无法访问当前对象的?变量和实例方法。

package com.bjpowernode.java_learning;

?

public class D41_this_keyword3 {

  public void do1() {

    System.out.println("youxiu");

  }

  public void do2() {

    System.out.println("youxiu");

    do1();//编译成功,因为do2调用就必须创建了对象,因此do1这个实例方法肯定能调用

  }

}

?

三、源码:

D41_this_keyword2.java

D41_this_keyword3.java

地址:

https://github.com/ruigege66/Java/blob/master/D41_this_keyword2.java

https://github.com/ruigege66/Java/blob/master/D41_this_keyword3.java

2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

原文地址:https://www.cnblogs.com/ruigege0000/p/11689607.html

时间: 2024-08-30 13:48:57

Java连载41-this关键字其他注意事项、static方法的相关文章

浅析Java中的final关键字

原文出处: 海子 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法.下面是本文的目录大纲: 一.final关键字的基本用法 二.深入理解final关键字 若有不正之处,请多多谅解并欢迎指正. 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字

转载:浅析Java中的final关键字

文章转自:http://www.cnblogs.com/dolphin0520/p/3736238.html 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法.下面是本文的目录大纲: 一.final关键字的基本用法 二.深入理解final关键字 若有不正之处,请多多谅解并欢迎指正. 请尊重作者劳动成果,转载请标明原文链接: http://www.cn

浅析Java中的final关键字(转载)

自http://www.cnblogs.com/dolphin0520/p/3736238.html转载 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字的基本用法. 1.修饰类 当用final修饰一个类时,表明这个类不能被继承.也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰.final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方

浅析Java中的final关键字(转)

浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法.下面是本文的目录大纲: 一.final关键字的基本用法 二.深入理解final关键字 若有不正之处,请多多谅解并欢迎指正. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.com/dolphin0520/p/3736238.html 一

浅谈Java中的final关键字

谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法. 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字的基本用法. 1.修饰类   当用final修饰一个类时,表明这个类不能被继承.也就是说,如果一个类你永远不会让他被继承,就可以用final

【转】浅析Java中的final关键字

谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法. 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字的基本用法. 1.修饰类 当用final修饰一个类时,表明这个类不能被继承.也就是说,如果一个类你永远不会让它被继承,就可以用final进行

2.Java中的final关键字

Java中,final关键字可以用来修饰类,方法和变量: 修饰类时:表明这个类不能被继承:类中的成员方法被隐式的指定为final方法:类中的成员变量可以根据需要指定为final. 修饰方法时:禁止子类重写父类的方法,也就是禁止子类不能够存在与父类相同的方法. 修饰变量:final修饰的变量为常量,只能赋值一次,赋值后值不再改变. 当修饰一个基本数据类型时:该基本数据类型的值一旦在初始化后便不能发生变化: 当修饰一个引用类型时:对其初始化之后便不能再让其指向其他对象了,但该引用所指向的对象的内容是

在java中为什么要把main方法定义为一个static方法?

我们知道,在C/C++当中,这个main方法并不是属于某一个类的,它是一个全局的方法,所以当我们执行的时候,c++编译器很容易的就能找到这个main方法,然而当我们执行一个java程序的时候,因为java都是以类作为程序的组织单元,当我们要执行的时候,我们并不知道这个main方法会放到哪个类当中,也不知道是否是要产生类的一个对象,为了解决程序的运行问题,我们将这个main方法定义为static,这样的话,当我们在执行一个java代码的时候,我们在命令提示符中写:java Point(Point为

java点滴之volatile关键字特性

一 问题引入 JVM把内存分为两层,一层为大的主存,另外一个是工作内存(属于每个线程自己专属的),正常情况下,线程在用到某个变量的值时,都是先取到工作内存中进行处理,然后再写回主存,这样就会带来不同线程变量值不同步的问题. volatile字面意思是易挥发,不稳定,比如100个线程同时访问修改的一个字段值,那么这种值的特性明显和JVM中高速缓存机制不相符,这种值是不适合放在各线程自己的寄存器中的,那会导致100个线程中持有的副本都不一样. 二volatile修饰符作用 当一个变量被声明成 vol