版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 3、Static<1>、随着类的加载而加载。也就是说:静态会随着类的而,说明它生命周期最长。<2>
<3><4><1>
<2>生命周期
而失而<1>静态方法只能静态成员非静态方法既可以静态也可以<2>静态方法中不可以定义this,super中不可以出现this<3>利处:<1>对对象的共享数据尽享单独空间的,节省空间,没有必要没一个对象都一份。弊端:<1>生命周期过长。只能静态public:代表着该函数的权限是最大的jvm
static:void:3jvm><2>对象中特有的数据要定义静态存在于堆内存中<1><2>过将构造函数完成(private){}数。用于给类进行初始化。 = <1>因为new用到 .class <2>执行该类中的static代码块如果有的话 <3>><5><6><7><8>将内存地址赋给栈内存中的p对象立就运行,而且优先于构造函数执行。JVM加载类时且在构造方法执行之前执行,静态代码块只在第一次new执行一次,之后不再执行,而非静态代码块在每new一次就执行一次。象<1>将构造函数<2>在类中创建一个本类对 <3>提供一个方privateStudent()privatestaticStudents=newpublicstaticStudent (延时加载Student只有调用了getInstance方法时,才建立对象)privatestaticStudents=null;privateStudent(){}publicstaticStudent{}继承
s=newStudent();returns;和工人与单独描述的这个类有关系,就可以了。1 提高了代码的复用性2、 让类与类之间产生了关系。有了这个关系,才有了多态特性。3、 注意千万不要为了获取其他类的功能简化代码而继承必须是类与类之间有所属的关系才可以继承。所属关系is 4、 Java语言中Java只支持单继承不支持多继承。 因为多继承容易带来安全隐患:当多个父类中定义了相同的功能,当功能内容不同时,子类对象不确定要运行哪一个。但是java保留这另一种体现形式来完成(多5 java支持多层继承。也就是一个继承体如何使用一个继承体系中的功能呢系的基本功能。那么这系已经可以基本使用了那么在具体调用时,要创建最子类的对象,为什么<1>因为有可能父类不能创建对<2>创建子类对象可以使用的功能,包括基本的也包简单一句话:查阅父类功能,创建子类对象使用功能 <1>变量本类中的变量,用this;父类中的同名变量用supe。super的使用和this的使用几乎一super<2>函一样。这种情况是函数的另一个特性:重写(覆盖当子类继承父类,沿袭了父类的功能,到子类中,但类的功能定义,并重写功能的内容。覆盖(重写)意事子类覆盖父类,必须保证子类权限大于等于父类权限,才可以覆盖,否则编译失败。静态只能覆盖静态<3>构造函在对子类对象进行初始化时,父类的构造函数也会运行那是因为子类的构造函数默认第一行有一条隐式的语super(super(:会父类中的空参数构造函数。而且子类中所有的构造函数默认第一行都是super()。为什么子类一定要父类中的构造函数在对象初始化时要先一下父类中的构造函数。如果要父类中指定的构造函数,可以通过手动定Super语句的方式来指注意:super语句一定定义在子类构造函数的第一行子类的实例化过程结论:子类的所有构造函数,默认都会父类中的空参数构造函数;因为子类中每一个构造函数内的第一行都有一个隐式的super(;当父类中没有空参数的构造函数时,子类必须手动通过语句的形式来指定要父类中的构造函数ths问本类构造函数子类中至少有一个构造函数会父类中的构造函数。作为一个修饰1、可以修饰、函数、变量2final修饰的类不可以被继承。是为了避免被继承,被子类复3、final修饰的方法不可以被重写4final修饰的变量是一个常量,只能赋值一次,既可以修饰成当在描述事物时,一些数据的出现值是固定的,那么这是为了inal有字母都大写,如果由多个单词组成,单词间通过_连接。5、内部类定义在类中的局部位置上时只能该局部被final修1、抽象类的特<1>抽象方法一定在抽象类<2>抽象方法和抽象类都必须 关键字修<3>抽象类不可以用new创建对象,因为调用抽象方法没<4>抽象类中的抽象方法要被必须由子类复写起所有的抽象方法后,建立子类对象调用;如果子类只覆盖了部分的抽象方法,<5>抽象类中可以有抽象方法也可以有非抽象方<6>抽象类和一般类没有太大的不同:<7>抽象类比一般类多了个抽就是在类中可以定义抽象方法;抽象类不可以实例化。特殊:抽象类中可以不定义抽象方法,这样做仅仅是不让改类建立对象。模板方在定义功能时,功能的一部分是确定的,但是有一部分是不确分出去。有该类的子类去实现。接初期理解:可以认为是一个特殊的抽象类,当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示(ineace)接口定义时,格式特1、接口中常见定义:常量,抽象方法2、接口中的成员都有固定修饰符。常量:publicstaticfinal方法记住:接口中的成员都是public的3、子类对接口中的抽象方法全部覆盖后,子类才可以实例化。否则子类是一个抽象类。4、接口可以被类多实现,也是对多继承不支持的转换形式,Java可以理解为事物存在的多种形态1、多态的父类的指向了自己的子类对象父类的也可以接受自己的子类对象2、多态的通常还有一个前提:存在覆盖。3、多态的多态的出现大大的提高了程序的扩展性4、多态的弊提高了扩展性,但是只能使用父类的父类中的成员5态的应6、多态的出现代码中的特点(多态的使用注意事项<1>在多态中成员函数的特点(非静态在编译时期:参阅型变量所属的类中是否有调用的方法。如在运行时期:参阅对象所属的类中是否有调用的方简单总结就函数在多态调用看左看右<2>在多态中员变量的特点无论是编译还是运行,都参考左边(型变量所属的类<3>在多态中,静态成员函数的特点:7、多态的例子Animala=new //类型提升,向上a. //如果想要调用猫的特有方法时,如何操作强制将父类的,转成子类类型,向下Catc=(Cat)a; //千万不要出现这样的操作是讲父类的对象转成子类型我们能转换的是父类的指向了自己的子类对象时,该可多态自始至终都是子类对象在坐着变化Object:是所有对象的直接或者间接父类,中的上帝Object类中已经提供了对对象是否相同的比较方法如果自定义类中也有比较相同的功能,没有必要重新定覆盖。内部类的规则1、内部类可以直接外部类中的成员,包括私有之所以可以直接外部类中的成员,是因为内部类中持有一个外部类的,格式外部类名.this2、外部类要内部类,必须要建立内部类对象3、格式<1>定义在外部类的成员位置上,而且非私有,可以在外部其格式:外部类名.内部类名量名=外部类对象.内部类对Outer.Innerin=newOuter().newInner()<2>当内部类在成员位置上时,就可以被成员修饰符所修饰。比如:private:将内部类在外部类中进行封装static:内部类就具备static当内部类被static修饰后只能直接外部类中的成员。出现了局限性<3>在外部其他类中,如何直接static内部类的非静态成new在外部其他类中,如何直接static内部类的静态成呢注意内部类中定义了静态该内部类必须是static的。当外部类中的静态方法内部类时内部类也必须是静态4、在描述事物时的内部还有事物用内部类来描述。5、内部类在定义局部时<1>不可以被成员修饰符修饰<2>可以直接外部类中的成员因为还持有外部类中的;但是不可以它所在的局部中的变量,只能被final修饰的内部类:1、内部类其实就是内部类的简写格式2、定义内部类的前提内部类必须继承一个类或者实现接口3、内部类的格式new父类或者接口( {定义子类的内容4、其实内部类就是一个子类对象而且这个对象有点胖。5、内部类中定义的方法最好不要超过3个1、异常:就是程序在运行时出现不正常情况异常由来:问题也是现实生活中一个具体事务,也可以通过java的类的形式进行描述,并封装成对象。其实就是Java对不正常情对于问题的划分:两种,一种是严重的问题,一种是非严重问<1>java通过Error类进行描述对于Error一般不编写针对性的代码对其进行处<2>对于非严重的,java通过Exception类进行描对于Exception可以使用针对性的处理方式进行处理。无论Errror或者Exception都具有一些共性内容。比如:不正常情况的信息,原因等 2、异常处理Java提供了特有的语句进行处理try{需要被检测;}3、对捕获到的异常对象进行常见方法操作StringgetMessage();获取异常信息<1><2><3>4、在函数上异常:便于提高安全性,让调用者进行处理,不5、对多异常的处<1>异常时,建议更为具体的异常,这样处理的可以更余的catch如果多个catch块中的异常出现继承关父类catch块放在最建议catch处理catch定要定义具体处理方不要简单的定义一句e.printStackTrace();也不要简单的就写6、因为项目中会出现特有的问题,而这些问题并未被java所描述,所以对这些特有的问题可以按照java对问题封装的思想,自定义异常<1>:行运算的,那么就需要对这个问题进行自定义描述。当在函数内部出现了throw抛出异常对象那么就必须要给出对应要么在内部trycatch要么在函数上生命让调用者处理一般情况下,函数内出现异常,函数上要如何定义异常信息因为父类中已经把异常信息的操作都完成了,所以子类只要在构造时,将异常信息传递给父类通过super过getMessage方法获取自定义的异常信息了。<3>自定义异常:必须是自定义类继承Exception。继承Exception原因:异常体系有一个特点:因为异常类和异常对象都被抛出具备可抛性。这个可抛性是Throwable这系中的独有特点。只有这系中的类和对象才可以被throw和throws操作。<4>throwthrows区别throws在函;throw用在函数内throw后跟的是异常对<5>Exception有一个特殊的子类异RuntimeException运行时异常。如果在函数内抛出该异常,函数上可以不用,编译一样通过。如果再函数上了该异常,调用者可以不用进行处理,之所以不用在函数上是因为不需要让调用者处理当该异常发生,希望程序停止。因为在运行时,出现了无法继续运算的情况,希望停止程序后,对代码进行修正。么就让自定义异常继承RuntimeException。<7>对于异常分两种:编译时被检测的异编译时不被检测的(运行时的RuntimeException以及1、finally代码块:定义一定执行的代码。2、记住一点:catch是用于处理异catch就代表异常没有被处理过,如果该异常时检测时异常,那么就必须。异常在父类覆盖中的体现1、子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆2、如果父类方法抛出多个异常,那么子类在覆盖该方法时,只能3、如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方如果子类方法发生了就必须要进行try不能异常1、异常是什么对问题进行描述,讲问题进行对象的封装2、异常体------3、异常体系的特点:异常体系中的所有类以及建立的对象都具备可抛性,也就是说可以被thow和thows关键字所操作只有异常体系具备这个特4、throwthrows的用法throw定义在函数内,用于抛出异常对象Throws定义在函数上,用于抛出异常类,可以抛出多个,用5、当函数内有throw抛出异常对象,并未进行try处理。必须要在函数上,否则编译失败。注意RuntimeException除外,也就是说函数内如果抛RuntimeException异常,函数上可以不用如果函数了异常,调用者需要进行处理。处理方法可以可以try6、异常有两种<1>编译时被检测异该异常在编译时,如果没有处理(没有抛,也没有try)那么编该异常被标识,代表这可以被处理<2>运行时异常(编译时测在编译时,不需要处理,编译器查该异常发生,建议不处理,让程序停止。需要对代码进行休7、异常处理的语{需要被检测的代码 Finally{一定会执行的代码3个结合格式<1> <2><3>Catch(){}注意:<1>finally中定义的通常是关闭资源的为资源必须放<2>finally只有一种情况不会执行。当执行到System.exti(0);finally不会执行。8、自定义异常 定义继承Exception或者<1>为了让改自定义类具备可抛<2>让该类具备操作异常的共性方法将异常信息传递给父类的构造函数。ClassMyExceptionextends{MyException(String{super}}自定义是按照java的面向对象思程序中出现的特有问题9、异常的好处<1>将问题进行封装<2>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学26年:CAR-T回输后护理要点 查房课件
- 寝室楼长活动总结
- 教育机构联盟活动实施方案
- 金太阳教育物理课程体系解析
- 2026护理敏感指标的应用解读
- 网络科学导论
- 道路建筑施工全流程管理
- 销售实战技能系统培训
- 秦朝的教育政策及其措施
- 教育科研培训讲座核心框架
- 人教版九年级化学 实验活动2 水的组成及变化的探究(学习、上课课件)
- 国家义务教育质量监测(2024年) 中小学生心理健康测试试卷
- 车险基础知识及常见问题
- 大学生的生理特点与体育运动以及体育卫生保健
- 4.5.4 预制柱生产及质量控制(装配式混凝土建筑构件生产与管理)
- 国家基本公共卫生服务项目规范培训课件
- 【高中语文】《屈原列传》课件++统编版+高中语文选择性必修中册
- 创意简约PPT模板
- 重庆理工809数据结构考纲
- 托班美术说课稿
- 1000吨快锻机主传动液压系统毕业设计
评论
0/150
提交评论