Java学习——继承

一,什么是继承

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进行修饰的话:

                             类:类不能被继承
                             方法:不能被重写
                             属性:不能被赋值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值