• 纠正平时代码中一些简单的误区(附代码)(不断收集)


         1.  第一个错误:
      今天看一个关于优化代码的帖子,发现有一段有问题,请看贴图:

    实际上并非如此,直接看代码:

    编译之前的代码:

    class Test 
    {
        
    public static void main(String[] args) 
        {
            
    new Test().test2();
            System.out.println(
    "Hello World!");
        }

        
    public void test2()
     {
          String tmp
    ="Hello!"+"some one.";
     }
    }

    反编译之后的代码:

    import java.io.PrintStream;

    class Test
    {
      
    public static void main(String[] paramArrayOfString)
      {
        
    new Test().test2();
        System.out.println(
    "Hello World!");
      }

      
    public void test2()
      {
        String str 
    = "Hello!some one.";
      }
    }

    很多东西编译的时候就帮你处理了,就好象C#中的get/set一样的语法糖。

     2. 第二个错误:

         这个是我前阵子面试时碰到的一个题目,

    class A
    {
        
    public void test() {
            System.out.println(
    "A");
        }
    }

    class B extends A
    {
        
    public void test() {
            System.out.println(
    "B");
        }
        
    public static void main(String[] args) 
        {
            A a 
    = new B();
            a.test();
        }
    }

           我当时写的输出结果为“B”, 当时面试官看我的答卷时,特意问我override和overload的区别,我还正纳闷中,然后他指着这个题目说,“你这里做错了,结果应该是'A'"。

           我当时惊呆了,回家又特意试了一下,结果让我常常的舒了一口气。

           其他的暂时还没想到,以后这个帖子慢慢补充。

  • 相关阅读:
    mongodb教程
    redis高级知识
    memcached删除机制与大数据缓存问题
    nginx 运维基础
    mysql 集群与分区
    Memcached之缓存雪崩,缓存穿透,缓存预热,缓存算法
    git cz配置
    Angular零碎知识点-持续补充
    Vue学习笔记-组件
    Vue学习笔记-自定义指令生命周期函数
  • 原文地址:https://www.cnblogs.com/KiloNet/p/1935904.html
Copyright © 2020-2023  润新知