程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2024-11(3)

Java this 的使用问题

发布于2021-03-10 17:56     阅读(673)     评论(0)     点赞(10)     收藏(0)


review 代码的时候,对对象自己的方法调用是否使用this有了点争议,重新看了下think in java,看到了下面的一句话,

 

我是非常认同这句话的,google了一下,发现确实有人问着问题:https://stackoverflow.com/questions/516768/using-this-with-methods-in-java

一般情况下可能会考虑由于子类重载会导致未知问题,其实并不会导致什么问题。因为编译器在编译的时候,会自动把当前对象当做方法调用的第一个参数,这个和用this来调用是一样的,编译器已经帮助做过一次了,就没有必要再去做一次。

看看下面的例子,不管加不加this,最后结果都是一样的,所以没遇到特殊情况,就不要加this了,这样也会保持代码的统一,利于维护,为了一个可能几乎不会碰到的“例外”增加代码不统一性,没有必要。

class Parent {
 
    public void eat(){
        System.out.println("Parent eat");
    }
 
    public void showEat(){
        this.eat();
    }
 
    public void showEat1(){
        eat();
    }
}
 
class Child extends Parent {
 
    @Override
    public void eat(){
        System.out.println("Child eat");
    }
}
 
public class Application {
 
    public static void main(String[] args){
        Parent p = new Parent();
        p.eat(); // Parent eat
        p.showEat();// Parent eat
        p.showEat1();// Parent eat
 
        Parent pc = new Child();
        pc.eat(); // Child eat
        pc.showEat();// Child eat
        pc.showEat1();// Child eat
 
 
        Child c = new Child();
        c.eat(); // Child eat
        c.showEat();// Child eat
        c.showEat1();// Child eat
    }
}
View Code

注意:代码的可为维护性,永远比使用一些特殊功能要重要,切记,切记。

 

原文链接:https://www.cnblogs.com/acles/p/14479605.html



所属网站分类: 技术文章 > 博客

作者:哦哦好吧

链接:http://www.javaheidong.com/blog/article/112253/c60549900a35c1ddfb95/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

10 0
收藏该文
已收藏

评论内容:(最多支持255个字符)