java-05方法重载、覆盖、参数传递、构造方法

来源:互联网 发布:乍得内战知乎 编辑:程序博客网 时间:2024/06/04 18:46
方法重载 方法过载 Overload 
发生在一个类型当中的两个方法
1st.方法名字相同
2nd.返回类型可能不同
3rd.参数列表必须不同
a.参数个数不同
b.参数类型不同
c.参数顺序不同

X.参数名字不同 不能算作不同

方法重载其实就是一个类当中 一个方法拥有多种存在的形态
方法重载同样体现Java当中的多态 
多态分为两种:
静态多态 编译时多态 方法重载
动态多态 父类类型 = 子类对象

方法覆盖 方法重写 Override
方法覆盖发生在有继承关系的两个类之间
子类类型当中


方法的语法组成
权限修饰符 返回类型 方法名(参数类型 参数名) 异常声明

方法覆盖要求:
权限修饰符不能越变越小
返回类型必须完全相同

异常声明不能越来越大

参数传递
Java当中基本数据类型传值
引用类型传地址(引用的值 就是个内存地址)

Java当中只有值传递

构造方法
在构造对象的时候需要调用的方法
为什么要使用构造方法:
为了在初始化一个对象的时候 
直接将对象的属性进行赋值
在Java当中只要是个类 一定有构造方法
如果我们没有写 那么系统自动提供一个默认的构造方法
默认的构造方法没有参数 没有方法体
如果我们想要在创建对象的时候直接给它的属性赋值 
那么我们需要自己定义构造方法

构造方法和普通方法的区别
构造方法没有返回值那一部分
构造方法的名字首字母通常都是大写(完全等价于类名)


构造方法的首行默认就是个super() 
代表在执行当前构造方法之前 优先执行其父类无参构造方法
我们可以通过super(参数) 
来指明去调用父类的哪个构造方法
我们还可以通过this(参数)
去指明调用本类的其它构造方法


无论super() 还是this()都只能是构造方法的第一个语句


*:构造方法是可以重载的
     但是构造方法是无法被继承的 从而无从谈起覆盖



0 0