zoukankan      html  css  js  c++  java
  • 2019春招面试题总结-01

    public class Person{
        private String name = "Person";
        int age = 0;  
    }
    public class Child extends Person{
        public String grade;
        public static void main(String[] args){
            Person p = new Child();
            System.out.println(p.name);
        }
    }    

    问题:以上代码的运行输出是()

    选项:A 输出:Person

       B 没有输出

       C 编译出错

       D 运行出错

    解析:

      首先上面两个类存在继承关系,在main方法中是父类引用指向子类对象,然后想访问一个父类的属性。

      我们都清楚一般来讲:对于属性来说编译看左边,运行看左边。对于方法来讲编译看左边,运行看右边(运行时多态)

      在此题中要访问属性,先看编译,编译的时候看左边即Person类,在此类中name属性是私有的,不能通过对象点属性来访问,因此在编译时就会报错。

      所以此题选C

  • 相关阅读:
    16平衡树
    15二叉检索树
    11用户权限
    10触发器
    8函数
    8存储过程
    linux下如何进入单用户模式
    RHEL6.4 字符模式下安装图形界面图文教程
    杂记
    Java内存管理(一):深入Java内存区域
  • 原文地址:https://www.cnblogs.com/helloworldmybokeyuan/p/11188791.html
Copyright © 2011-2022 走看看