Java中方法重写的两个面试题

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

  方法重写:
    在子类中,出现和父类中一模一样的方法声明的现象。(包含方法名、参数列表和返回值类型都一样)

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

  方法重载能改变返回值类型,因为它和返回值类型无关。

  Override:方法重写
  Overload:方法重载

2:this关键字和super关键字分别代表什么?以及他们各自的使用场景和作用。

  this: 代表当前类的对象引用。
  super:代表父类存储空间的标识。(可以理解为父类的引用,通过这个东西可以访问父类的成员。)

  应用场景:
    成员变量:
      this.成员变量
      super.成员变量
    构造方法:
      this(...)
      super(...)
    成员方法:
      this.成员方法
      super.成员方法

原文地址:https://www.cnblogs.com/chenmingjun/p/8449548.html

时间: 2024-11-05 12:34:43

Java中方法重写的两个面试题的相关文章

Java中方法重写的应用

方法重写的应用 当子类需要父类的功能,而功能的主体子类还有自己特有的内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类自己特有的内容. 1 /* 2 方法重写:子类中出现了和父类中方法声明一模一样的方法(方法名.参数列表和返回值类型都一样),也被称为方法覆盖.方法复写. 3 4 方法重载:本类中出现的方法名一样,参数列表不同,与返回值无关的方法. 5 6 子类的成员方法名称和父类中的成员方法名称一样时,这个怎么访问呢? 7 通过子类对象访问一个成员方法的查找顺序: 8 1.在子

java中方法重写的规则

规则1:重写方法的不能比被重写的方法有更严格的访问限制 规则2:相同的方法名,相同的参数列表,相同的返回值 规则3:重写方法不能抛出比被重写方法声明更广的异常,可以抛出范围更小的或不抛出异常 规则4:不能重写被final修饰的方法 规则5:如果一个方法不能被继承,则不能被重写.例如:构造器不能被继承,所以不能被重写.或者是父类声明为private的方法

Java中Arrays类的两个方法:deepEquals和equals

deepEquals和equals是Java中Arrays类的两个静态方法,可是它们之间有什么样的区别呢? 代码一. import java.util.Arrays; public class Test { public static void main(String[] args) { String[][] name1 = {{ "G","a","o" },{ "H","u","a",

java中方法的重载与重写的区别

JAVA中方法的重载与重写 1)  方法的的参数上看:重载后的方法与源方法在参数的类型以参数列表的顺序上会发生改变,而重写后的方法在参数的数据类型与参数列表的顺序不会发生改变 2)原方法是否对被覆盖:重载后的方法不会覆盖原方法,而重写后的方法会覆盖父类中的方法,调用时也只会调用重写后的方法. 3)调用方法的对象上:重载后的方法被调用时,调用对象不同时,调用的方法不同,产生的结果也不同:而重写后的方法被调用时,无论调用的对象是父类或者子类的对象,调用的方法相同,产生的结果也一样

Java中取小数点后两位(四种方法)

摘自http://irobot.iteye.com/blog/285537 Java中取小数点后两位(四种方法) 一 Long是长整型,怎么有小数,是double吧     java.text.DecimalFormat   df=new   java.text.DecimalFormat("#.##");     double   d=3.14159;     System.out.println(df.format(d)); 二 java.math.BigDecimal     B

java中实现多线程的两种基本方法

java中实现多线程有两种基本方法,一种是继承Thread, 另一种是实现Runnable接口. 但是因为java中子类只能继承一个父类,如果采用继承Thread类,就不能继承其他类,很受限制. 以下是采用继承Thread类的例子: public class MyThreadTest{ public static void main(String[] args){ MyThread amythread1=new MyThread("my thread 1"); MyThread amy

Java之方法重写、方法重载、多态

Java之方法重写.方法重载.多态博客分类: java语言Java重写重载多态 一.方法重写(Override) 子类可以重写父类的方法. 方法的返回值类型.参数类型.参数个数都不能改变,只能重写方法体. 方法的重写规则 参数列表必须完全与被重写方法的相同: 返回类型必须完全与被重写方法的返回类型相同: 访问权限不能比父类中被重写的方法的访问权限更低. 例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected. 解释:用于多态(父类引用子类对象). 声明

Java中Compareable和Comparator两种比较器的区别

Java中Compareable和Comparator两种比较器的区别 1.引言 在java这个处处是对象的世界里,对两个对象进行按某一属性进行比较是特别常见的需求.比如书店中的书按照价格比较,亦或者是学生按照成绩进行排名等等. 对于JDK8而言,有三种实现对象比较的方法: 1.在需要比较的对象类中覆写Object类的equals()方法: 2.需要比较的类继承Comparable接口,然后在其类内部实现compareTo()方法: 3.抛去需要被比较的类,在其外部自定义一个单独的对象比较器,继

Java基础---Java中方法的重裁(四十一)

Java 中方法的重载 问: 什么是方法的重载呢? 答: 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载: 问: 如何区分调用的是哪个重载方法呢? 答: 当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行.如: 运行结果: 判断方法重载的依据: 1. 必须是在同一个类中 2.