zoukankan      html  css  js  c++  java
  • 猜猜两道Java基础面试题的结果

    class TA {
        public String s = "A";
    
        public String getS() {
            return s;
        }
    }
    
    class TB extends TA {
        public String s = "B";
    
        public String getS() {
            return s;
        }
    }
    
    public class TestInheritance {
    
        public static void main(String[] args) {
            TA a = new TA();
            TB b = new TB();
            a.s = "AA";
            b.s = "BB";
    
            a = b;
            // TA a2 = b;
            // System.out.println(a == a2);
            // System.out.println(a2.s);
            // System.out.println(a2.getS());
    
            // java的内存模型:成员变量是放在栈区?
            // 父类引用指向子类对象,方法是可以被覆盖的,但是成员变量是无法覆盖的?
            //
            // (2014.1.18 add)说明,加载TB类时加载了TA类,所以b这个引用地址(堆内存开始的地址)指向的空间
            // 大小为TA.class占用的内存大小和TB.class占用的内存空间,那么就可以解释
            // System.out.println(a.s);输出的结果为什么是'A'了吗?
            // 方法被重写了,但是成员变量不能被重写,所以还是两份
            System.out.println(a.s);
            System.out.println(b.s);
            System.out.println(a.getS());
            System.out.println(b.getS());
        }
    }
    View Code
    public class TestComparisonOperator {
    
        public static void main(String[] args) {
            Long a1 = 19L;
            Long a2 = 19L;
            
            Long b1 = 1900L;
            Long b2 = 1900L;
            //小于128的数,可能会经常用到,所以会转换为基本变量而不是对象引用
            System.out.println(a1 == a2);
            System.out.println(b1 == b2);
            
        }
    }
    View Code
  • 相关阅读:
    UI
    最长回文子串
    LRU缓存机制
    环形链表 II
    环形链表
    买卖股票的最佳时机 II
    [CSP-S模拟测试]:连连看(图论+容斥)
    [CSP-S模拟测试]:集合论(模拟)
    [CSP-S模拟测试]:位运算(数学)
    [CERC2016]:凸轮廓线Convex Contour(模拟+数学)
  • 原文地址:https://www.cnblogs.com/wenwujuncheng/p/3383639.html
Copyright © 2011-2022 走看看