java重载与覆盖,新人求教

问题描述

java重载与覆盖,新人求教

如题Java重载与覆盖
麻烦大神给讲解一下,网上也查了资料但是还不是理解的特别透彻。

解决方案

重载是方法名一样,参数列表不同;
覆盖(重写),子类重写父类的方法,一般有Override关键字修饰;
看下这个多实践就应该能理解了。http://blog.csdn.net/fsz521/article/details/8739236

解决方案二:

方法重载:在一个类里面,相同功能乃至不同功能(必须是形式参数类型不同)的方法用同一个方法名来写的手段,例如
class A{
public void display(int a)
{System.out.println(“数字是”+a);}

publlic void display(char a)
{System.out.println(“字符是”+a);}

public void display(String s)
{System.out.println("字符串是"+s);}
}
这样一来,通过对不同类型的参数对比,java就能自动选用合适的方法,而不用分别声明。
/////////////////////////////////////////
方法重写:父类有方法A,子类为实现自身特殊化需求,对父类的方法进行改写的手段,也是同名,区别是一个是父类的方法,一个是子类的方法(参数也要一样)。例如
class A{
public void display(int a)
{System.out.println(“数字是”+a);}

publlic void display(char a)
{System.out.println(“字符是”+a);}

public void display(String s)
{System.out.println("字符串是"+s);}
}
class B extends A
{
public void display(int a)
{
System.out.println(a+1);
}
}

这样以来,对整型数,A将它显示出来,B将它加1再显示出来。大体上就是这个 意思。

具体还有一些需要注意的地方:
对于方法重写:
(1) 子类的方法的名称及参数必须和所覆盖的方法相同

(2) 子类的方法返回类型必须和所覆盖的方法相同

(3) 子类方法不能缩小所覆盖方法的访问权限

(4) 子类方法不能抛出比所覆盖方法更多的异常

对于方法重载:
(1) 方法名必须相同

(2) 方法的参数名必须相同

(3) 方法的返回类型和方法的修饰符可以不相同

解决方案三:

是Java的重载何重写吧?重载的意思就是在一个class类中方法名相同,参数不同,返回值可相同可不相同,体现的是多态性,重写的意思就是子类将父类的方法覆盖,相当于方法名和参数全部相同,调用时可选择调用子类的方法,或者父类的方法,如要调用父类的方法需要super关键字,子类和父类的关系相当于 extend 继承的类叫做子类,被继承的类叫做父类,其中体现的是子类与父类之间的多态性。

解决方案四:

重载只是指函数名相同,但调用参数类型或参数个数不同,而自动识别调用。常常是在一个类中定义多个同名方法,
或main函数去调用先前定义的同名方法。
覆盖是指父类和子类形成继承关系后,调用方法根据实例是父类还是子类,自动调用相应的方法。
这些方法位于不同的类层次中,函数名、参数类型、参数个数和参数名必须满足全部一样。

解决方案五:

重写就是子类写一个方法覆盖父类的方法,这样用子类调用这个方法的话,有效的是子类的方法。
重载就是方法名相同,方法标签不同,也就是参数不一样。

解决方案六:

java重载与覆盖
希望对你有用!!!

解决方案七:

重载和重写相同之处都是带有重字。只不过重载的重讲的是方法或函数名相同,参数完全不同,而重写讲的是方法或函数名相同,且参数完全相同。

解决方案八:

重写是子类的方法覆盖父类的方法,要求方法名和参数都相同

重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数,可以参考API帮助文档看看类的构造方法

时间: 2024-10-02 18:54:43

java重载与覆盖,新人求教的相关文章

java android开发-新人求教java android. idea

问题描述 新人求教java android. idea 像这类页内链接要怎么做,刚用CSDN没有钱....开发-新人求教java android. idea-ideapocket新人"> 解决方案 http://jingyan.baidu.com/article/39810a23d234b2b636fda602.html

新人求教JAVA编程翻牌游戏

问题描述 新人求教JAVA编程翻牌游戏 用JAVA做的一个小游戏 规则:点击"开始"进行游戏. 点击一个方块,此方块及其周围的方块将变色. 所有的方块都改变为绿色时胜利求全部代码 解决方案 你是什么不会呢.还是有什么问题?全部代码,需要你自己来写. 解决方案二: 全部程序:http://download.csdn.net/detail/barryhappy/2625300 解决方案三: 变相求作业?还是自己研究下吧

Java千百问_05面向对象(010)_java中重载和覆盖有什么关系

1.什么是重载 Java的重载,简单说,就是方法有同样的名称,但是参数不相同.这样的同名不同参数的方法之间,互相称之为重载方法.  需要注意的是:  1. 方法名相同.  2. 参数不同,这里是说对应位置的参数类型至少有一个不同,当然List和List都是List,算作相同.  3. 返回值可以不同,可以相同. 例子:  "`  public class Test{  public void a() {  System.out.println("a()");  }; publ

java中重载、覆盖和隐藏三者的区别分析_java

重载:方法名相同,但参数不同的多个同名函数 注意:1.参数不同的意思是参数类型.参数个数.参数顺序至少有一个不同 2.返回值和异常以及访问修饰符,不能作为重载的条件(因为对于匿名调用,会出现歧义,eg:void a ()和int a() ,如果调用a(),出现歧义) 3.main方法也是可以被重载的 覆盖:子类重写父类的方法,要求方法名和参数类型完全一样(参数不能是子类),返回值和异常比父类小或者相同(即为父类的子类),访问修饰符比父类大或者相同 两同两小一大  注意:子类实例方法不能覆盖父类的

java内部类可以覆盖吗

若创建一个内部类,然后从封装类继承,并重新定义内部类,那么会出现什么情况呢?也就是说,我们有可能覆盖一个内部类吗?这看起来似乎是一个非常有用的概念,但"覆盖"一个内部类--好象它是外部类的另一个方法--这一概念实际不能做任何事情:   //: BigEgg.java // An inner class cannot be overriden // like a method class Egg { protected class Yolk { public Yolk() { Syste

Java 重载、重写、构造函数详解

方法重写 1.重写只能出现在继承关系之中.当一个类继承它的父类方法时,都有机会重写该父类的方法.一个特例是父类的方法被标识为final.重写的主要优点是能够定义某个子类型特有的行为. class Animal { public void eat(){ 2.对于从父类继承来的抽象方法,要么在子类用重写的方式设计该方法,要么把子类也标识为抽象的.所以抽象方法可以说是必须要被重写的方法. 3.重写的意义. 重写方法可以实现多态,用父类的引用来操纵子类对象,但是在实际运行中对象将运行其自己特有的方法.

编程-安卓 关于按钮的问题 这个错误看不懂 新人求教

问题描述 安卓 关于按钮的问题 这个错误看不懂 新人求教 解决方案 XML文件button 里定义了btn_create方法,Java代码里没有实现,Java代码响应 btn_create方法 ,或者删除XML文件里的 android:onClick="btn_crate"; 解决方案二: btn_create 这个方法可能在XML文件中有,但在MainActivity中没有写 解决方案三: 在MainActivity中 putblic void btn_create(View vie

android-在eclipse里的Android程序为什么一运行就停止运行了?(新人求教)

问题描述 在eclipse里的Android程序为什么一运行就停止运行了?(新人求教) package com.android.mytextview; import java.lang.reflect.Field; import android.support.v7.app.ActionBarActivity; import android.text.Html; import android.text.Html.ImageGetter; import android.text.method.Li

jtable-Java,新人求教:如在一个JFrame里,上下显示两个JTable。

问题描述 Java,新人求教:如在一个JFrame里,上下显示两个JTable. 只有将布局管理器设置为BorderLayout和BoxLayout才能显示一个,到底为甚么,怎么都想不通 解决方案 布局,一个上,一个下