Java基础复习03

21、多态

指把类中具有相似功能的不同方法使用同一个方法名来实现,从而可以使用相同的方式来调用具有不同功能的同名方法。
多态实现
  • 重写–通过子类对父类方法的覆盖
  • 重载–在同一个类中定义多个参数列表不同的同名方法
    多态的实现,需要一种称为“运行时绑定(迟绑定)”的技术,就是编译器在编译时不去确定某个方法所指向的代码块是哪个,而到了执行的时候才凭借某些记号寻找该方法对应执行的代码

22、内部类

内部类是声明在外部类体内的类
  1. 内部类提供了某种进入其外部类对象的窗口
  2. 每个内部类都能独立地继承自一个(类,接口,抽象类)实现
    有效地实现“多重继承”

1.1、成员内部类 MemberInner class
  • 代码位置:与成员变量位置相同
  • 声明格式:
    ‘[pullic|proyecyed|private] class 类名{}’
  • 在类体内,和正常类一样声明对象
  • 在类体外,需要在产生外部类对象的前提下,并在访问控制允许的条件下,方可声明对象

例如:

  • 公有(public)成员内部类,类外部可以访问
  • 私有成员内部类,类外部不可以访问
    Outer1 oc=new Outer1();
    Outer1.MemberInner mi1= oc.new MemberInner();

需要先new一个外部类对象,借助外部类对象new 公有成员内部类对象,就可以调用公有成员内部类的成员方法、成员变量

2.2、局部内部类
  • 声明格式:
    Class 类名{}
  • 代码位置:
    成员方法体内,与局部变量位置相同
  • 作用范围:
    从局部内部类代码结束到所在方法体结束,在方法体内,如同正常类一样声明对象
  • 注意:
    1. 因为它天然就有访问范围的限制,故不能也不需要使用访问控制修饰符
    2. 方法内部类只能在定义该内部类的方法内实例化,不能在此方法外实例化
    3. 方法内部类对象不能使用该内部类所在方法的非final局部变量

*原因:
因为方法的局部变量位于栈上,只存在于该方法的生命周期内。当一个方法结束,其栈结构被删除,局部变量称为历史。但该方法结束后,在方法内创啊建的内部类对象可能仍然存在于堆中,这样内部类对象就无法调用局部变量了,所以它只能访问方法体内的常量

3、静态内部类
  • 声明格式:
    [public|protected|private] static class 类名{}
  • 代码位置:与静态成员位置相同
  • 使用方法:
       在本类内,可直接声明对象
       在类体外,在访问控制允许的情况下,使用”外部类类名.静态内部类构造方法()”的方式声明一个对象
  • 注意:

    1. 静态内部类只能访问外部类的静态方法和静态变量
    2. 静态内部类中可以定义静态或者非静态的成员
  • 分析:
       从技术上说,静态嵌套类不属于内部类。因为成员内部类与外部类共享一种特殊关系,对实例的共享关系,而静态嵌套类则没有上述关系,它只是位置在另一个类的内部,因此又称为顶级嵌套类

4、匿名内部类
为了重写父类某个方法或实现某个接口
  • 使用匿名内部类情况:

    1. 只用到类的一个实例
    2. 类在定义后立即用到
    3. 类非常小(4行一下)
    4. 不好取类名
  • 声明格式:
       new 父类类名|接口名(){ //重写方法};
       匿名内部类必须在new的后面,用其隐含实现一个接口或实现一个抽象类或继承一个普通类

  • 代码位置:出现引用变量声明时

  • 使用方法:
    * 声明完即生成对象,由声明时的引用变量持有。
    * 无法二次生成对象;
    * 不能定义任何静态成员,静态方法;
    * 不能是public/protected/private;
    * 不能有构造方法
23、异常处理

程序的错误分为三类:语法错误、逻辑错误、运行错误
运行错误是指程序运行过程出现的错误,分为Error和Exception。

Exception通过完善程序代码消除,Error则是程序无能为力的错误,如磁盘空间不足,内存溢出等
在java中,异常作为一个特殊对象,它的类型格式Excetion及其子类,用户可通过对Exception的继承创建自己的异常类型

  • Throwable类是所有异常和错误的超类,它有两个子类Error和Exception

  • 异常类类Exception 1、运行时异常 2、非运行时异常

  • 运行时异常 RuntimeException类及其子类ArithmeticException(除数为0)、NullPointerException(文件不存在)、IndexOutOfBoundsException(数组下标出界)等
  • 非运行时异常 Exception类及其子类IOException、SQLException

  • Throwable类方法

    Throwable(String message) 以message的内容作为错误信息串创建Throwable对象
    String getMessage() 若当前对象包含错误信息,本方法返回的字符串由三部分组成:当前对象的类名、一个冒号和一个空格、错误信息的字符串若当前对象不包含,则返回当前对象的类名
    String toString() 若当前对象包含错误信息,本方法返回的字符串由三部分组成:当前对象的类名、一个冒号和一个空格、错误信息的字符串若当前对象不包含,则返回当前对象的类名
    Void printStackTrace() 将跟踪栈中的信息输出

*java的异常处理主要包括:

1、声明异常declaring exception
2、抛出异常 throwing exception
3、捕获异常 catching exception

  • try语句块:

    表示要尝试运行的代码,若代码出现异常则抛出异常对象
    catch语句块:
    当try抛出异常时,catch会捕获发生的异常,并和自己的异常类型匹配,若匹配则执行catch块中代码,并将catch参数指向所抛的异常对象。catch语句可以有多个,用来匹配try可能出现的多个异常中的一个异常,一旦匹配成功后,就不在尝试匹配别的catch块,因此,在写catch块时,要先写子类异常,再写父类异常,因为自动向上转型的存在,先写父类异常则下面子类异常代码块称为“unreachable codes”无法·访问的代码
    finally语句块:
    最终一定会执行

  • 被动处理异常–关键字throws

    在方法的头部声明异常,一个方法可同时声明多个异常,各异常类之间用逗号隔开。
    主动处理异常 Try,catch,finally
    被动处理异常异常 即在它的方法声明处增加throws,将方法内没有处理的Exception继续上抛给它的调用者,最后直至JVM,由JVM将异常堆栈打印出来
    声明异常指的是Java中的每个方法对他可能抛出的必检异常类型进行声明,但对免检异常Error和RuntimeException及其子类不要求在方法中显式地声明

  • 异常主动抛出

    Java中的异常在方法调用时,可以形成异常链。如果方法A调用方法B,方法B又调用了方法C,若方法C声明了必检异常,则方法B在调用方法C时,必须对该异常进行处理,
    处理方式1:在方法B中用try-catch代码块捕获并处理
    处理方式2:不做任何处理继续把异常抛给它的调用者A
    A也可把该异常抛给它的调用者main方法,从而想成异常链

  • 自定义异常

    class 异常类名 extends Exception{
    public 异常类名(String msg){
    super(msg);
    }
    }

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

glimmert

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值