面向对象 下

this和super各有几种用法?

this有三种用法,
第一种:this.xxx,是在容易混淆的情况下,标明这是域变量
第二种:this(),是在重载构造函数时所用的方法
第三种:this指代当前对象,在两个对象建立相互关联时,可以用
super有两种用法,
第一种,第二种类似于this方法,只不过super是父类。

子类对象实例化的具体过程

首先是看有没有super或this函数,然后执行super或者this函数,再到要执行的函数里看有没有super或this,直到没有super或者this函数,然后对类中的成员进行显示初始化,最后,执行构造方法中剩下的代码。

类的域变量和方法定义中的局部变量在初始化上有何区别

类的域变量:static,final,static声明的变量在类未被实例化的时候就已经被初始化了,而且这个关键字修饰的变量在所在类的所有实例化中只存在一个。
final声明的变量表示变量不可被修改,一经初始化就不变了:但是,这里有两种情况,一是final声明的基本数据——不可被改变;二是引用类型数据,也就是对象数据表示其引用不可修改(想象成公寓,房子位置不变,里面住的人是可以变的)。
static final声明的数据可以理解为全局常量。
方法中的局部变量:在调用方法时出现,在调用完成时消失。

接口有什么作用?

可以固定一个规范,让其他的对象调用。也是一种标准,可以让使用者和建造者都能更好的使用

抽象类与接口的异同点是什么?

两者都有抽象方法,都不能实例化,都有自己的声明,并能具体引用具体子类或者实现类对象
抽象类可以拥有域变量,不能有域变量,只能是静态常量
抽象类可以有具体方法,且具体方法可以调用抽象方法,机接口如果有方法,全部都是抽象方法
抽象类必须有子类继承,接口必须有实现类实现
抽象类扩展性弱,接口扩展性强。

引用比较方法有哪些?

equals方法,==,instanceof比较引用类型

内部类的作用是什么,什么情况下使用匿名内部类?

内部类是在一个类的内部又定义了一个类,匿名内部类就是在类中定义一个没有名称的类。

9

D

什么是数据隐藏?如何证明子类对父类同名方法进行重新定义,只能是方法的覆盖为不是方法的隐藏?

在定义类中的数据时,将其定义为private,就可以不让外部访问该数据。在子类中重写父类的方法之后,将不能在子类对象上调用父类的方法。

11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值