黑马程序员——Java---类继承-覆盖-重载

来源:互联网 发布:mysql需要多大内存 编辑:程序博客网 时间:2024/05/22 16:40
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

    继承:
       子类继承超类,会接收到来自超类中的非私有成员,也就是没有被private修饰过的成员,并且可以覆盖以及重载超类中的方法。但是超类想要提供访问private变量的权限


,又不想被子类直接访问,可以用非私有方法提供访问。


覆盖:
     a类继承b类,a类可以建立和b类同名的方法,参数个数和参数类型一致,就实现了覆盖,但是覆盖方法的权限必须大于等于超类中同名的函数




重载:
a类继承b类,a类可以建立和b类同名的方法,若方法的个数和类型不一致,就实现了重载。




class supers
{
String name;


String age;


void show(){


System.out.println("这是超类");
}
void reload(){
System.out.println("重载");
}
}


class son extends supers  //用extends 关键字继承了supers类
{

/*
String name;  子类中隐式的有了supers类中的变量和方法 
String age;
void show(){
}
*/


void show(){              //子类要覆盖超类中supers的方法show,有以下三点要求


               //1,子类方法权限必须大于等于超类中的同名函数 (这里没有添加对方法的修饰符,等于超类同名方法的权限,所以满足要求)
System.out.println("这是子类");
             //2 子类方法参数要和超类同名方法参数一致,(父类中和子类的参数都为空,所以也满足要求)


   //3 子类方法参数的类型必须要和超类中同名方法参数的类型一致(这个例子中都是空参数所以也满足要求)
}


void reload(String name){


System.out.println("子类重载");


}                 //子类重载超类中的同名函数,函数名一致,只要参数不一致就实现了重载


void reload(int age){


System.out.println("重载2");


}              //而且方法重载也可以在本类中进行,对多个重载方法之间的权限没有要求,当然必须要具备给外部访问的基本权限.


}








0 0
原创粉丝点击