抽象类和接口-创新互联

子类继承父类后,会继承父类中非private修饰的属性和方法等等,并且可以通过重写父类中的方法来实现多态,我们在调用这些多态的方法时,会优先调用对应的子类的重写方法,这样父类中的这个方法是怎么实现的、有什么功能就已经不重要了。重写方法就是,在子类中写一个与父类中的某个方法的方法名、参数类型、参数个数、都相同的方法,但是方法的具体实现一般是不同的,重写的方法的返回值类型在一般情况下与父类的方法也是一样的,但也有特殊情况,列如协变类型。用abstract修饰的普通类就会成为抽象类,抽象类中需要写一个抽象方法,子类继承抽象类时必须要重写抽象类中的抽象方法。抽象类不能用来实例化对象,是专门用来继承的类。虽然普通类也能继承,并且子类也能重写方法实现多态,但是抽象类被继承后,如果子类没有重写父类的抽象方法,编译器是会报错的,相当于多了一层编译器的检查把关,可以帮助我们判断需要重写的方法有没有重写。

专注于为中小企业提供网站设计、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业永嘉免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

当使用父类引用,引用子类对象时,用这个引用去调用有重写的方法,就会调用到子类重写的方法。例如有两个类A和B,B类继承了A类,并且A类中有一个方法func(),B类中重写了这个方法,func(),这时A a = new B;通过父类引用,引用子类对象,再通过a 调用func方法,即a.func(),调用到的就是B类中的func()。

在Java当中,一个类可以被多个类同时继承,但每一个类只能继承一个类。即一个父类可以有很多子类,但每个子类都只有一个父类。这时,一个子类就不能去继承使用多个类中的方法和属性,于是就有了接口。

接口是一种特殊的抽象类,是使用interfa修饰的,不能通过new来实例化对象。接口内的普通方法都不能有具体实现,如果非要实现,就需要用关键字defaul修饰,此时,这个方法就成了该接口的默认方法,不能被重写,只可以在接口类内调用这个方法,而且可以有多个。接口内的static方法是可以有具体实现的,也可以有多个,同样不能被重写,只能在类内调用。

类通过关键字implement实现一个接口,实现一个接口之后必须在类内重写该接口的抽象方法。由于每一个类只能继承一个类,但是一个类可以实现多个接口,这样当我们需要利用到多个不同的方法的多态时,就可以通过给这个类实现多个接口来完成。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


标题名称:抽象类和接口-创新互联
文章位置:http://scjbc.cn/article/dihdei.html

其他资讯