您的位置:首页 > 职场人生

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

2015-12-12 14:15 316 查看
------<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");

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: