继承时子类要保证能够运行父类的一切,所以子类覆盖父类方法时参数要兼容,返回类型要兼容,并且不能够降低方法的存取权限。即
public void love ();
不能覆盖为private void love();这样会使的编译时以为通过的是一个public的,而程序运行时被jvm阻止存取。
方法的重载
方法的重载必须改变方法的参数,返回值可以不变,也可以改变方法的存取权限。参数的改变可以是参数的数量,类型,顺序。
public void love(int a);
private void love(double a);
public int love (){
int s=5;
return s;
}
public void love (int c, int a, int f);
抽象的方法
只要类中有抽象的方法,那么类也必须声明为抽象的。
public void love ();
不能覆盖为private void love();这样会使的编译时以为通过的是一个public的,而程序运行时被jvm阻止存取。
方法的重载
方法的重载必须改变方法的参数,返回值可以不变,也可以改变方法的存取权限。参数的改变可以是参数的数量,类型,顺序。
public void love(int a);
private void love(double a);
public int love (){
int s=5;
return s;
}
public void love (int c, int a, int f);
抽象的方法
只要类中有抽象的方法,那么类也必须声明为抽象的。
当父类不能够提供给所有的子类都有意义的方法时,就写一个抽象的方法,最近的子类必须实现全部的抽象方法,实现就是覆盖。
使用抽象的方法的好处就是多态。
逻辑运算符
优先级
1 !
2 > >= < <=
3 == !=
4 && ||
逻辑运算符的优先级低于算数运算的优先级,&&和|| 都有短路运算特点,即&&运算时,只要有false,结果就是false,||运算时只要true,结果直接就是true。