类的继承

                  我是Java新手,在这里简要的介绍一下Java中类的继承。

                  我刚开始很疑惑的一点是为什么要使用继承,后来有了答案。

                  1 为什么使用类的继承?

                        类的继承可以使派生类继承基类已有的功能,即重用代码,可以节省程序设计的时间。
                        在派生类中可以加入新的特征和方法,实现更具体的功能。
                        比如说,你已经定义了一个Student类,但是后面你要使用一个大学生类,这个时候如果你重写一个,就会比别人使用继承浪费时间,此外你还可以在大学生类中加入新的特征与方法,比如说调研方法等等。
                2继承的格式
                      先定义一个Student类
                                    public class Student{
                                                public String name;
                                                public void study(){
                                                        System.out.println(name+"在学习");
                                                }
                                             }
                     然后用一个UNStudent继承Student类
                                       public class UNStudent extends Student{
                                                public void play(){
                                                       System.out.println(name+"在玩");
                                        }
                    通过extends关键字,在UNStudent中就自动具有了Student类中的属性和方法         
                3自动转型与强制转型
                              当大学生继承了学生类后,我们可以说,一个大学生对象一定是一个学生对象
                              public static void main(String [] args){
                                         Student stu=new UNStudent();
                                          stu.study();
                                          stu.play();//错误
                              }
                          按照前面学的惯性思维,在new的时候,我会写成UNStudent stu=new UNStudent();
                          但当写成Student stu=new UNStudent()时,会出现错误,原因是将子类对象的类型定义为父类类型了,这种写法叫做自动转型,也就是说子类对象的类型可以自动转型成父类类型。
                          但子类类型转为父类类型后不能调用子类特有的方法了,这就是上面出现错误的原因。
                          如果你自动转型后,还想调用子类中的特有的方法,那么你就需要强制转型
                                    UNStudent stu1=(UNStudent)stu;
                                   stu1.play();\\ 正确
                          这就是强制转型。
           4方法重写
                            子类将从父类中继承来的方法重新写方法体,我们叫做方法的重写。
                          如
                                        public class UNStudent extends Student{
                                                    public void study(){
                                                              System.out.println(name+"在自学");
                                                   } 
                                         }
            

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博私信或留言,博看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博私信或留言,博看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博私信或留言,博看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博私信或留言,博看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博私信或留言,博看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博私信或留言,博看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博私信或留言,博看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值