一、引言:
若我们定义了一个“学生”类,现在又想定义一个“大学生”类,而大学生与学生有重合的属性和方法,比如说都有姓名、学号、学分、学习方法等,那么我们在定义“大学生”类时,需要再重复编写一遍“学生”类里面已有的代码吗?这显然是不科学的,这时候我们就需要用到类的继承。
二、定义:
在已有类的基础上建立新的类,而不需要把已有类的内容重新写一遍,这就叫做类的继承。已有的类叫做父类,在此基础上建立的类叫做子类。在上面的例子中,学生就是父类,大学生就是子类。
代码关键字:extend
三、继承的内容:
那么子类从父类中继承了一些什么呢?这一点需要分情况讨论:
对于private的属性、方法,子类能够继承到,但是不能够访问。
对于非private属性、方法,子类能够继承并且访问。
例如:
//定义父类 public class Students { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public void study(){ System.out.println("学生名字是"+name); } }
//定义子类 public class UNstudents extends Students { }
//定义管理类 public class Manager { public static void main(String[] args) { UNstudents un=new UNstudents(); Students stu=new Students(); stu.setName("张三"); un.study(); } }
运行结果为:
学生名字是null
从结果我们可以看出,子类继承并访问到了父类的public学习方法study,但是没有访问到父类的private姓名张三,实际上它还是继承了父类的姓名的,只不过private属性只能自己的类访问,其他的类都不可以访问。
△.这里我们若要显示姓名,只需要把管理类的stu.setName("张三")改成UN.setName("张三")即可。
四、方法的重写
儿子能从父亲身上继承很多东西,但他不可能完完全全和父亲一样,那不就成了克隆了,所以儿子也会有自己的个性。
当子类继承父类之后,如果要加上自己特有的方法、属性,就需要用到重写。
例如:
//定义父类 public class Students { public String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public void study(){ System.out.println("学生名字是"+name); } }
//定义子类 public class UNstudents extends Students { public void study(){ System.out.println(name+"是大学生,需要考四级"); } }
//定义管理类 public class Manager { public static void main(String[] args) { UNstudents un=new UNstudents(); un.setName("张三"); un.study(); } }
运行结果为:
张三是大学生,需要考四级
从结果我们可以看出,我们在子类中重新定义了study这个方法,输出结果也为子类的study方法,即是子类的特色方法,这就是方法的重写。
△.重载与重写的区别:
重写是发生在继承体系下的,子类针对父类的方法、属性进行的重写。也就是发生在不同的类下面。
重载是发生在本类下面的,针对同一个方法的(方法名一致),只有形参的个数、顺序、类型的区别。
相关推荐
类与继承 类与继承 类与继承 类与继承 类与继承
java基础_继承封装 多态,概念的梳理,对初学者很有帮助,看一遍就清楚了
Java基础入门教程 第4章 继承和多态(共36页).ppt Java基础入门教程 第5章 Java基础类的应用(共42页).ppt Java基础入门教程 第6章 集合框架(共28页).ppt Java基础入门教程 第7章 Java中的异常处理(共26页)....
java基础学习(继承与接口的区别及产生原因)~~~
包括《Java基础入门(第3版)》的课后习题答案 2.适用人群: Java初学者 3.阅读建议: (1)动手实践:不要仅仅依赖理论学习,要实际编写代码。只有通过实践,才能真正理解Java的语法和编程思想。 (2)坚持每天...
java类和对象继承多态性 是JAVA的基础学习课件,有利于提高
java
Java基础入门教程 第4章 继承和多态(共36页).ppt Java基础入门教程 第5章 Java基础类的应用(共42页).ppt Java基础入门教程 第6章 集合框架(共28页).ppt Java基础入门教程 第7章 Java中的异常处理(共26页)....
Java基础封装继承的PPT,适用于基础学习者,很有用的资源
Java基础入门教程 第4章 继承和多态(共36页).ppt Java基础入门教程 第5章 Java基础类的应用(共42页).ppt Java基础入门教程 第6章 集合框架(共28页).ppt Java基础入门教程 第7章 Java中的异常处理(共26页)....
建议读者在阅读前具备Java的基础知识,包括类、对象、方法和成员变量等概念。 在阅读过程中,尝试编写简单的Java程序,创建并使用父类和子类。 建议通过阅读相关的Java教材或搜索资料,进一步扩展学习与继承相关的...
java入门: Java 概述 ...Java 类的继承和多态机制 Java 接口和包 Java 异常处理 Java 输入与输出 Java 图形用户界面设计 Java Swing 组件 Java Applet 程序 Java 多线程 Java 数据库编程 Java 网络编程
java 类的继承 基础理解
该文件用于java基础知识学习,主要是介绍Java中继承类的知识点
Java基础入门教程 第4章 继承和多态(共36页).ppt Java基础入门教程 第5章 Java基础类的应用(共42页).ppt Java基础入门教程 第6章 集合框架(共28页).ppt Java基础入门教程 第7章 Java中的异常处理(共26页)....
【完整课程列表】 Java基础[01-Java概述]....Java基础[04-继承上].pdf Java基础[04-继承下].pdf Java基础[05-多线程].pdf Java基础[06-集合].pdf Java基础[07-IO].pdf Java基础[08-GUI].pdf Java基础[09-网络编程].pdf
java基础,继承(传智播客)
二、 Java语法基础 5 数据类型 5 运算符号 14 语句 15 函数 15 方法重载(Overloadjing)与重写(Overriding) 16 数组 17 总结 18 三、 常见关键字 20 四、 面向对象★★★★★ 21 五、 封装(面向对象特征之一)★...
完整版精品java课件 Java基础入门教程 Java程序设计 第4章 类和对象(共57页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第5章 继承和接口(共47页).ppt 完整版精品java课件 Java基础入门教程 Java...
java父类的构造方法使用,和super的方法