Java之继承

Posted 用户名同QQ号

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java之继承相关的知识,希望对你有一定的参考价值。

继承的概念

1.继承:public class 子类 extends 父类{
}(继承了成员属性和成员方法,但是私有的成员属性不能在子类中使用)
2.继承的好处:提高了代码的复用性,提高了代码的编写效率,使得类与类之间产生了关系,为多态奠定了前提。
3.注意:子类之能继承一个父类,
但父类可以有多个子类。
子类继承父类,父类再可以继承父类,子类与父类是一个相对的概念。
所有类的父类为object,object包含多种成员属性和成员方法。
4.子类父类的特点。
成员属性:①子类继承父类,对同样的属性和方法,优先使用子类自己的属性,通过super来调用父类成员属性。②子类和父类的成员属性名不一样时,可以同时使用(
成员方法:①当在程序中通过对象调用方法时,会先在子类中查找有没有对应的方法,若子类中存在就会执行子类中的方法,若子类中不存在就会执行父类中相应的方法。
5.为什么子类可以和父类中的方法名一样?
首先,因为子类和父类的方法不在同一个类中,所以不是方法的重载;同时发生在,子类继承父类中,从返回值类型、方法名、参数列表一致,则称为方法的重写。
并且子类的修饰符权限大于等于父类的修饰符权限。public公共的》private私有的。
方法的重载和方法的重写可以同时存在。
修饰符权限,不写,有一个默认权限,小于public、
子类和抽象类的区别:
①底层子类都具有具体的方法体
②抽象类一定是父类,因为只有子类才能创建对象,从事具体的方法和动作。
③抽象类的存在,是为了被继承。
④抽象类中可以有普通方法,但不一定有抽象方法。
抽象类 :abstract class 类名{}
抽象方法:public abstract 返回值类型 方法名();
不能和以下关键字同时存在。
this和super

 

 

 abstract因为是动态的非常量的,不能和以下关键字使用:①不能和private一起修饰方法。②不能和final创建变量。③不能和static修饰方法。

但可以按照如下照片内容使用:

 1 public class Test {
 2     public static void main(String[] args) {
 3         new NewPhone().showNum();
 4     }
 5 }
 6 
 7 //手机类
 8 class Phone{
 9     public void sendMessage(){
10         System.out.println("发短信");
11     }
12     public void call(){
13         System.out.println("打电话");
14     }
15     public void showNum(){
16         System.out.println("来电显示号码");
17     }
18 }
19 
20 //智能手机类
21 class NewPhone extends Phone{
22     
23     //覆盖父类的来电显示号码功能,并增加自己的显示姓名和图片功能
24     public void showNum(){
25         //调用父类已经存在的功能使用super
26         super.showNum();
27         //增加自己特有显示姓名和图片功能
28         System.out.println("显示来电姓名");
29         System.out.println("显示头像");
30     }
31 }
View Code

以上是关于Java之继承的主要内容,如果未能解决你的问题,请参考以下文章

Flask之模板之宏继承包含

操作 Java 泛型:泛型在继承方面体现与通配符使用

Java面向对象编程之继承

java之继承

java随笔:三大特性之继承

11. Java基础之继承