方法重写和方法重载的区别?方法重载能改变返回值类型吗?

      A:Override方法重写和Overload方法重载的区别?

Overload是否可以改变返回值类型?可以

方法重写

•  子类中出现了和父类中一模一样的方法声明,也被称为方法覆盖,方法复写。

•  使用特点:

  •   如果方法名不同,就调用对应的方法

  •   如果方法名相同,最终使用的是子类自己的

父类方法重写格式:super.父类成员方法名

•  方法重写的注意事项

    父类中私有方法不能被重写

   子类重写父类方法时,访问权限不能更低(最好一致都是public)

   父类静态方法,子类也必须通过静态方法进行重写。

方法重载

     方法重载:本类出现的类名相同,参数列表不同的方法,与返回值无关。

      B:this和super的区别和各自的作用?

       this代表本类的对象引用,super代表父类的空间标识。可以理解为父类的引用,通过这个可以访问父类成员。

      场景:

         成员变量:

             this.成员变量

super.成员变量

          构造方法:

             this(…)

super(…)

          成员方法:

             this.成员方法

super.成员方法

面试题:看程序写结果

   虽然子类中构造方法默认有一个super();

初始化的时候,不是按照那个顺序执行的。

而是按照分层初始化进行的。

它仅仅要表示先初始化父类数据,在初始化子类数据。

结果:

      YXYZ

class X {

Y b = new Y();

X() {

System.out.print("X");②

}

}

class Y {

Y() {

System.out.print("Y");①

}

}

public class Z extends X (先初始化继承){

Y y = new Y();③

Z() {

//super

System.out.print("Z");④

}

public static void main(String[] args) {

new Z();

}

}

你get到了吗?

Java常见面试题02-方法重写和方法重载的区别?方法重载能改变返回值类型吗?的更多相关文章

  1. JAVA常见面试题问题简述(持续更新中)

    JAVA常见面试题问题简述 1. springcloud和dubbo的区别 ①相比之下springcloud 的社区会更加活跃,解决问题的速度也会越来越快,dubbo相对来说如果碰到没有解决的问题,就 ...

  2. java常见面试题及答案 1-10(基础篇)

    java常见面试题及答案 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程.Java 源文件被 ...

  3. java常见面试题及答案

    java常见面试题及答案 来源 https://blog.csdn.net/hsk256/article/details/49052293 来源 https://blog.csdn.net/hsk25 ...

  4. Java 常见面试题(一)

    1)什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行的字节码文件.Java被设 ...

  5. 【转载】JAVA常见面试题及解答(精华)

     JAVA常见面试题及解答(精华)       1)transient和volatile是java关键字吗?(瞬联) 如果用transient声明一个实例变量,当对象存储时,它的值不需要维持.例如: ...

  6. 【转载】常见面试题:C#中String和string的区别分析

    在很多人面试C#开发工程师的时候,会遇到一个面试题,就是C#中String和string有啥区别.其实针对这个问题C#中String和string没有本质上的区别,两者在程序中都可使用,稍微的一个区别 ...

  7. Java常见面试题(含答案)

    第一,谈谈final, finally, finalize的区别. final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 ...

  8. java常见面试题

    JAVA相关基础知识 1.面向对象的特征有哪些方面  1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分 ...

  9. JAVA常见面试题及解答

    JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...

随机推荐

  1. C# 获取所有网卡信息

    private void Form1_Load(object sender, EventArgs e) { //获取说有网卡信息 NetworkInterface[] nics = NetworkIn ...

  2. Spring Boot 整合mybatis时遇到的mapper接口不能注入的问题

    现实情况是这样的,因为在练习spring boot整合mybatis,所以自己新建了个项目做测试,可是在idea里面mapper接口注入报错,后来百度查询了下,把idea的注入等级设置为了warnin ...

  3. js replace替换所有字符

    'abc...'.replace(new RegExp('oldStr', 'gm'), 'newStr')

  4. extension Array where Element 代码学习

    var fieldNames: [String] { let p = UnsafePointer<Int32>(self.pointer) return Array(utf8Strings ...

  5. freemarker使用map替换字符串中的值demo2

    package demo01; import java.io.IOException;import java.io.OutputStreamWriter;import java.io.StringWr ...

  6. Django MVC与MTV概念 Ajax、分页实现

     MVC与MTV概念 MTV与MVC(了解)        MTV模型(django):            M:模型层(models.py)            T:templates      ...

  7. vue点击实现 路由的跳转

    点击按钮实现路由的跳转 <div @click="gotoMenu">按钮</div> 实现跳转 methods: { gotoMenu(){ //跳转到上 ...

  8. PAT_A1013#Battle Over Cities

    Source: PAT A1013 Battle Over Cities (25 分) Description: It is vitally important to have all the cit ...

  9. HTTP 状态码 301 和 302 详解及区别——辛酸的探索之路

    转自:http://blog.csdn.net/grandpang/article/details/47448395 一直对http状态码301和302的理解比较模糊,在遇到实际的问题和翻阅各种资料了 ...

  10. Centos 7源码编译搭建Nginx

    一.Nginx入门介绍 1. Nginx(engine x):[ˈendʒɪnks] 2. Nginx 是 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版 ...