一,什么是继承
Java语言的特点是:封装,继承,多态
继承是针对于类与类之间而言的。
继承关系就好比儿子跟父亲之间的关系,一个儿子只能有一个父亲,但是一个父亲可以有多个儿子
举一个简单的例子:一个公司有很多雇员,我们将他定义为雇员类Employee类
这个公司有很多种员工,有Java程序员,有C++程序员,有PHP程序员........
这里就可以使用到继承关系,Employee类中可以定义同种类的属性,比如;姓名,年龄,性别,工资,工龄,等等。
即父类为Employee雇员类,各种不同类型的员工作为其子类,通过继承的方式进行可以使得整个项目变得更加高内聚,低耦合
因为在项目中,会存在很多属性相同的类,我们如果每一次去创建新的类的时候,其存在很多相同的属性,那么就会使得多余的代码冗余,这样项目就不够健壮。
二,继承的好处
继承的好处:
1、继承的出现提高了代码的可复用性,提高了软件的开发效率
2、继承的出现让类与类之间存在了纵向的关系,为后面多态提供了前提
三,方法的重写与重载
3.1——方法的重写
方法重写(override):三同一不同
当两个方法名字相同的时候就直接默认是方法重新
环境:两个类存在继承关系的时候,发生在继承父类的子类中
要求:
1、方法名必须相同,包括大小写
2、方法的返回值类型必须相同
3、方法的参数列表必须相同
4、方法体不同
举个例子:
public class Fu {
//方法重写
public String house(){
return "我有一个房子,面朝大海,春暖花开 ---- 是个大别墅";
}
}
public class Zi extends Fu{
public String house(){
return "我只有一个小房子,但是以后别墅早晚是我的";
}
//在调用父类中的相同的方法时候,不能直接调用,
//需要将父类方法放在其他的方法中或者变量中进行存储然后再使用
String str = super.house();
}
public class Test {
public static void main(String[] args) {
//继承主要是通过子类对象来调用父类中的元素
//所以创建对象的时候使用的子类对象,不要创建父类对象
Zi z = new Zi();
z.house();//如果子类和父类中有相同的方法,直接创对象调用的是子类自己的方法
System.out.println(z.str);
}
}
3.2—— 方法的重载
方法的重载:发生在同一个类中
要求:方法名称相同,参数列表不同
参数列表不同是指:
参数的个数不同
参数的数据类型不同
参数的顺序不同
public class Method {
public void add(int a, double b){
System.out.println(a + b);
}
//参数的数据类型不同
public void add(double a,double b){
System.out.println(a + b);
}
//参数的个数不同
public void add(int a,double b,int c){
System.out.println(a + b + c);
}
//参数的顺序不同
public void add(double a, int b){
System.out.println(a + b);
}
}
四,final关键字
1,final关键字:字面上理解为最终的
可以用来修饰:属性,方法,类
2,如果用final进行修饰的话:
类:类不能被继承
方法:不能被重写
属性:不能被赋值