什么是方法的返回值?返回值的作用是什么?
方法的返回值是指我们获取到某个方法体中的代码执行后产生的结果!返回值的作用:接收出结果,使得它可以用于其他操作!
什么是内部类?
在Java中,可以将一个类的定义放在另一个类的内部定义,这就是内部类。内部类本身就是类的一个属性,与其它属性定义方式一致。
内部类的分类有哪些?
内部类可以分为四种:
成员内部类、局部内部类、匿名内部类、静态内部类
内部类的优点
我们为什么要使用内部类呢?因为它有以下优点:
一个内部类对象可以访问创建它的外部类对象的内容,包括私有数据!
内部类不为同一包的其他类所见,具有很好地封装性
内部类有效实现了“多重继承”,优化了Java单继承的缺陷
匿名内部类可以很方便的定义回调。
内部类有哪些应用场景
1.一些多算法场合
2.解决一些非面向对象的语句块
3.适当使用内部类,使得代码更加灵活富有扩展性
4.当某个类除了它的外部类,不再被其他的类使用时
构造器是否可以被重写
构造器不能被继承,一次不能被重写,但可以被重载。
重载和重写的区别。重载的方法能否根据返回类型进行区分?
方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。
重载:发生在同一个类中,方法名相同参数列表不同(参数类型不同、个数不同、顺序不同)与方法返回值和访问修饰符无关,即重载的方法不能根据返回类型进行区分
重写:发生在父子类中,方法名,参数列表必须相同,返回值小于等于父类,抛出的异常小于等于父类,访问修饰符大于等于父类(里氏代换原则);如果父类方法访问修饰符为private则子类中就不是重写。
==和equals的区别是什么
==:它的作业是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象。(基本数据类型 = = 比较的是值,引用数据类型 = = 比较的是内存地址)
equals():它的作用也是判断两个对象是否相等。但他一般有两种使用情况:
情况1:类没有覆盖equals()方法。则通过equals()比较该类的两个对象时,等价于通过"= ="比较两个对象。
情况2:类覆盖了equals()方法。一般,我们都覆盖equals()方法来对两个对象的内容相等;若它们的内容相等,则返回true(即,认为这两个对象相等)。