Java面向对象之重载和重写

原创 2015年07月06日 22:42:30

方法的重载:同一个类的多个方法只是方法名相同而参数列表不同编译器自动调用合适的方法

1.同一个文件可以包含多个类 

2.public修饰的类只能有一个

3.public修饰的类必须与文件名相同

public class A{
    public void a(){//do some thing}
    public void a(int i){//do some thing}//重载1:参数列表不同(包括数量,类型,顺序)
    public int  a(){ //编译错误,方法声明重复
	return 0
    }
}
class B extends A{
    public void a(char c){//do some thing}//对其父类的方法重载
}


方法的重写:必须发生在父子类之间,并且是子类重写父类的方法

原则: 1.两同:方法名和参数列表相同

          2.两小:返回值类型和抛出的异常:子类 <= 父类(其中基本类型和void的返回值必须相同)

          3.一大:访问权限*:子类 >= 父类

//重写的实现
public class C{
    private Object a(){
	 return "abc";
    }
}
public class D extends C{
    public String a(){
	 return "ABC";
    }
}
public class E{
    public static void main(String[] args){
	 C c = new C();
	 c.a;//调用的是C类的a()方法

	 D d = new D();
	 d.a;//调用的是D类的a()方法

	 C c = new D();//向上造型*,C类型引用指向D类型对象
	 c.a;//调用子类D的重写方法a();
    }
}


*访问修饰符:

public:公共的,任何地方

protected:受保护的,本类,子类,同包类

default:默认的,本类,同包类

private:私有的,本类


*向上造型:父类引用指向子类对象

Father f = new Son();

面向对象重写(override)与重载(overload)区别

一、重写(override) override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。 重写(覆盖)的规则: 1、重写方法的参数列表...
  • u013754847
  • u013754847
  • 2016年03月24日 10:54
  • 1935

Java面向对象程序设计--自己写的课后答案--

开启答案之旅第一章Ps:这些都是我自己写的,有些与题目要求的方法不一致,但基本上都能实现!第一题package A; import java.util.Scanner; public class ...
  • firstbloodz
  • firstbloodz
  • 2016年08月30日 17:44
  • 2510

php面向对象之重载(overloading)

在java中,重载就是函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法,这也牵涉到了多态。 在PHP中呢,有人说php没有多态,那重...
  • forLightWay
  • forLightWay
  • 2017年01月10日 14:23
  • 1282

Java基础第10讲-面向对象之方法的重写和重载

1、方法的重载 方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。调用时,会根据不同的参数表选择对应的方法。方法的重载即:同名不同参 1.1、方法重载的补充说明 参数不同指的是参...
  • qzc70919700
  • qzc70919700
  • 2017年06月06日 16:09
  • 177

Java面向对象(构造器、访问控制、重写重载)

构造器,构造函数,Constructor  //Person()  ·Java语言中,每个类都至少有一个构造方法;  分析:      特点: ①名字与类名一模一样              ②无返回...
  • AsiaGuo
  • AsiaGuo
  • 2017年03月08日 17:16
  • 147

Java基础8---面向对象代码块和继承和this和super和重写和重载和final

一、代码块      在Java中,使用{}括起来的代码被称为代码块。根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块。 局部代码块 在方法中出现;限定变量生命周期,...
  • u010941185
  • u010941185
  • 2016年06月05日 23:00
  • 268

java面向对象的继承以及方法重写和重载

java面向对象的继承 public class ExtendsTest { /* * 把多个类中相同的成员提取出来定义到一个独立的类中。 * 然后让多个类和该类产生联系。这多个类就具备了...
  • qq_37529302
  • qq_37529302
  • 2017年02月28日 20:27
  • 111

Java 重写和重载区别——面向对象的多态性分析

前言 我们知道面向对象主要是封装、继承和多态,重写和重载都有面向对象的多态性,而一字相同,区别大不同。重写是子类继承父类中方法,属于动态多态性。重载发生在同一个类中方法名相同参数个数或类型不同,...
  • csdn_aiyang
  • csdn_aiyang
  • 2017年05月04日 15:29
  • 272

JavaSE入门学习16:Java面向对象之重写(Override)和重载(Overload)

一重写(Override)        如果子类对继承父类的方法不满意,是可以重写父类继承的方法的。重写是子类对父类的允许访问的方法的实现 过程进行重新编写。返回值和形参都不能改变。即外壳不变,核心...
  • erlian1992
  • erlian1992
  • 2016年01月28日 22:28
  • 1264

Java中面向对象的封装,继承,重载重写

Java中面向对象的封装,继承,重载重写 封装的定义     封装从字面意思理解就是包装,专业说法就是隐藏信息,是指将数组和对数据的操作封装在一起,尽可能的隐藏细节,只保留对外的通道使之与外部发生...
  • ztyxy1115
  • ztyxy1115
  • 2017年12月11日 11:27
  • 33
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java面向对象之重载和重写
举报原因:
原因补充:

(最多只允许输入30个字)