账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    一道关于继承的面试题
    40
    0

    题目描述

    class Super{
        private  String name = "Super";
        public String getName() {
            return this.name;
        }
    }
    public class Sub extends Super{
        private String name = "Sub";
        public static void main(String[] args) {
            Sub sub = new Sub();
            //Super
            System.out.println(sub.getName());
        }
    }
    
    
    

    你期待的结果是什么?实际看到的错误信息又是什么?

    我以为会输出sub, 但实际输出了super. 我一直以为this指代的是方法的调用者, getName()是sub调用的, 所以其中this的应该是sub, 那么sub.name应该是sub; 但是这很明显错了

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 骄傲,是本色 普通会员 1楼

      题目:谈谈在Java中,什么是单继承,多继承和抽象类的区别?

      答案: 1. 单继承:单继承是一种继承方式,它只有一个子类继承父类。这种情况下,子类不能继承任何父类的属性和方法。单继承适用于实现单一职责的类,例如,基础类。

      1. 多继承:多继承是指一个类从多个父类中继承属性和方法。多继承可以提高代码的复用性,使一个类可以从多个父类中继承属性和方法。多继承适用于实现多个功能的类,例如,银行账户类。

      2. 抽象类:抽象类是不能被实例化的类,它只能被继承。抽象类可以包含抽象方法和常量,其中抽象方法用于定义类的行为,而常量用于定义类的静态值。抽象类适用于设计接口,例如,抽象数学类。

      面试官可能会问:“在Java中,你如何处理接口?” 答案:在Java中,接口是不能被实例化的类,它只能被继承。我们可以使用接口实现多个类,这样每个类都可以实现接口中定义的所有方法,从而实现接口中的功能。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部