方法重载 方法过载 Overload
发生在一个类型当中的两个方法
1st.方法名字相同
2nd.返回类型可能不同
3rd.参数列表必须不同
a.参数个数不同
b.参数类型不同
c.参数顺序不同
X.参数名字不同 不能算作不同
方法重载其实就是一个类当中 一个方法拥有多种存在的形态
方法重载同样体现Java当中的多态
多态分为两种:
静态多态 编译时多态 方法重载
动态多态 父类类型 = 子类对象
方法覆盖 方法重写 Override
方法覆盖发生在有继承关系的两个类之间
子类类型当中
方法的语法组成
权限修饰符 返回类型 方法名(参数类型 参数名) 异常声明
方法覆盖要求:
权限修饰符不能越变越小
返回类型必须完全相同
发生在一个类型当中的两个方法
1st.方法名字相同
2nd.返回类型可能不同
3rd.参数列表必须不同
a.参数个数不同
b.参数类型不同
c.参数顺序不同
X.参数名字不同 不能算作不同
方法重载其实就是一个类当中 一个方法拥有多种存在的形态
方法重载同样体现Java当中的多态
多态分为两种:
静态多态 编译时多态 方法重载
动态多态 父类类型 = 子类对象
方法覆盖 方法重写 Override
方法覆盖发生在有继承关系的两个类之间
子类类型当中
方法的语法组成
权限修饰符 返回类型 方法名(参数类型 参数名) 异常声明
方法覆盖要求:
权限修饰符不能越变越小
返回类型必须完全相同
异常声明不能越来越大
参数传递
Java当中基本数据类型传值
引用类型传地址(引用的值 就是个内存地址)
Java当中只有值传递
构造方法
在构造对象的时候需要调用的方法
为什么要使用构造方法:
为了在初始化一个对象的时候
直接将对象的属性进行赋值
在Java当中只要是个类 一定有构造方法
如果我们没有写 那么系统自动提供一个默认的构造方法
默认的构造方法没有参数 没有方法体
如果我们想要在创建对象的时候直接给它的属性赋值
那么我们需要自己定义构造方法
构造方法和普通方法的区别
构造方法没有返回值那一部分
构造方法的名字首字母通常都是大写(完全等价于类名)
构造方法的首行默认就是个super()
代表在执行当前构造方法之前 优先执行其父类无参构造方法
我们可以通过super(参数)
来指明去调用父类的哪个构造方法
我们还可以通过this(参数)
去指明调用本类的其它构造方法
无论super() 还是this()都只能是构造方法的第一个语句
*:构造方法是可以重载的
但是构造方法是无法被继承的 从而无从谈起覆盖