//方法重载--方法名一样,参数列表不一样//参数类型//参数个数//参数顺序
//在方法重载中方法的返回类型和访问权限是不能作为重载的依据的,但是在重载方法的时候可以修改方法的返回类型和访问权限。
//当方法重载时,调用重载的方法,根据参数列表的内容调用不同的函数方法
public void sum()
{}
public void sum(int a)
{}
public void sum(double a)
{}
public void sum(double a,int b)
{}
public void sum(int a,double b)
{}
//方法重写--方法重写应用于子类继承父类的时候,如果不想使用父类定义的方法,就可以重写父类定义的方法,这种行为我认为称为方法重写。
//方法重写的规则:
访问权限:在有限的情况下可以修改,当父类和子类在同一个包下的情况下,若父类的访问权限为default或者protected,子类可以修改重写方法的访问权限为比父类的访问权限更大的访问权限。
例子:父类的访问权限为protected
修改子类的访问权限为public //这样做子类的对象可以在外包调用这个方法//
//而父类的对象不可以在外包调用//
除了访问权限外,重写的方法返回值必须是和父类相同的,方法名也一样,参数列表也要保持一致。
通过方法重写可以实现多态
多态:
多态的实现是建立在继承和重写的基础上的。
首先一个父类可以有很多子类,每一个子类都可以重写父类的方法,这样就可以有很多方法体不同的方法但是方法名相同的方法。
然后父类可以定义一个变量指向多个不同的实例化的子类对象,而子类中的方法是重写过的,通过调用相同的方法名来实现不同的方法体,这样就做到了多态。
访问权限:
访问权限有四个:
访问权限
public
protected
default
private
1、已知类内部无论是哪种访问权限都是可以访问的。
2、public 可以被本包、子类、外包访问。即最高访问权限,都可以访问。
3、protected是受保护的访问权限,只能被本包、子类访问。外包是不能访问的
4、default是不写访问权限系统默认的访问权限,只能被类内部和本包访问。(当子类在同一包下是可以访问的。)
5、private是最低访问权限,只能被类内部访问。