this与static

this关键字是一个比较难理解的点,以下总结下this关键的功能与作用:

1.一个对象 调用其他方法,会产生一个指向该对象的一个引用,由编译器悄悄的作为调用方法的第一个参数传递给方法。在方法里面,通过this关键字引用该对象;

引用thinking in java 中的一个例子:

classBanana {

    void f(int i){

          。。。。。。

    }

Banana a =newBanana();

Banana b=newBanana();

a.f(1);

b.f(1);

java如何区分是对象a调用还是对象b调用方法f(int i):

      java虚拟机做了幕后操作:a.f(1)---->a.f(a,1);

            b.f(1)----->b.f(b,1);在方法内部使用this代表当前对象a或者b;

2.第1点的一个很有用的地方是,在方法结束部分使用return this;返回调用方法的当前对象,从而实现对同一个对象的多次相同操作。


3.在构造器中调用同一个类中的其它构造器

该点与this关键字代表当前对象,没有一点关联。给this关键字加上参数列表,就明确的代表同一类中的其他某个确定的构造器;

注意点:在一个构造其中只能用this调用一个其他的构造器;用this调用其他构造器的代码只能放在构造器内代码的第一行;不能出现构造器的递归调用(死循环);

4.static方法中不能出现this关键字;

static关键字功能作用:

        static修饰的属性或方法,代表有全局的意思,只要虚拟机加载完类,类中的static修饰的属性或方法就可以通过类名打点使用,如:Fruit.name

class Fruit{

          public static String name = "Banana";

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,766评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,948评论 18 139
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,524评论 0 17
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 1,267评论 0 2
  • 图片发自简书App 成功,是一生的成就,它来自你在你的工作和生活中创造出的一种有意义的感觉。 这是《成功心理学》对...
    林深见鹿2016阅读 542评论 1 16