黑马程序员java培训就业班笔记:day09总结.doc

黑马程序员java培训就业班笔记:day09总结.doc

ID:59512747

大小:37.00 KB

页数:11页

时间:2020-11-04

黑马程序员java培训就业班笔记:day09总结.doc_第1页
黑马程序员java培训就业班笔记:day09总结.doc_第2页
黑马程序员java培训就业班笔记:day09总结.doc_第3页
黑马程序员java培训就业班笔记:day09总结.doc_第4页
黑马程序员java培训就业班笔记:day09总结.doc_第5页
资源描述:

《黑马程序员java培训就业班笔记:day09总结.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Day09总结:上午:1、final关键字:Eg:代码实现:ClassFu{Finalvoidmethod(){//code...访问低层代码}}ClassZiextendsFu{Voidmethod(){Sop("haha");}}以上代码体现出继承的弊端,因为父类的method的方法访问了系统的低层代码。当子类对其覆写,就不会去访问父类的meth的方法,直接用自己的method这样就出现了代码的不严谨性,所以此时需要用final关键字进行修饰。注意为什么不把类加final修饰,因为可能该类中会出

2、现很多功能。有些是不需要被覆写的。有些是被调用的。所以只能根据自己所需对相应的成员进行修饰。2、Final的特点:1、final是一个修饰符,可以修饰类、方法、变量(成员变量、局部变量)2、Final修饰的类不可以被继承。3、Final修饰的方法不可以被覆盖。4、Final修饰的变量是一个常量,只能被赋值一次。是为了增强阅读性,只要数据是固定的,就将这个数据用一个名称来表示,并用final修饰。常量名称都是大写字母,多个单词组成时用下划线来分隔。代码体现:Eg:ClassZi{Staticfinal

3、intnum=90;//必须对变量进行初始化,不知道要最终化哪个值,所以必须对它进行初始化。加静态也是一样的,同样的道理,并且被初始化,此时静态和final没有必然的联系。当变量被final修饰时,说明变量已经是一个常量值,此时不能被修饰,可以用static来修饰。PublicstatidoublePI=3.14;Voidmethod(){Finalintx=4;X=8;Sop(num);//既然是在操作一个固定的值。为什么不把4直接写在此处,如果这样做的的话,阅读性极差,你根本就不知道它所代表什么

4、?为了增强阅读性,此时数据是不变化的,所以我们需要给它起个名字,并且用final来修饰。这样的话它也是固定的不变的。注意:被final修饰的数值只能被覆写一次,并且修饰的常量名全部大写,多个单词组成时用下划线进行分隔。Eg:finalintPERSON_AGE=4;}}1、抽象类:特点:1、没有方法体的方法,称为抽象方法,必须存放在抽象方法类中,抽象方法和抽象类必须用abstract关键字来修饰,2、抽象类不可以被实例化,为什么?因为调用抽象方法没有意义?为什么?因为它连方法体都不存在?3、抽象类必

5、须由其子类将抽象类中的抽象方法都覆盖后,其子类才可以被实例化,否则该子类还是抽象类。Eg:AbstractclassDemo{Abstractvoidshow();}ClassSubDemoextendsDemoVoidshow(){}//此时把父类中抽象方法覆盖,此时才能被实例化。}比如水果,它就是抽象的,不具体它包含各种各样的水果,每种水果有它自己的体现。抽象类涉及的问题?1、抽象类中是否可以定义非抽象的方法?可以首先抽象类是一个类,类是用来描述事物,只不过描述事物过程中有些信息不具体,抽象类和

6、一般类异同点:相同:抽象类和一般类都用于描述事物,都可以定义成员。不同:抽象类中可以定义抽象成员函数,(抽象要么修饰类要么修饰函数)而一般类不可以。抽象类不可以实例化,一般类可以实例化。2、抽象类中是否有构造函数?有,而且抽象类虽然自身不可以被实例化,但是其子类覆盖了所有的抽象方法后,是可以实例化的。所以抽象类的构造函数是用于给其子类对象进行实例化。3、抽象类通常都是一个父类?是、因为需要子类去覆盖父类中的抽象方法。代码体现:AbstractclassDemo{Abstractvoifshow1()

7、;Abstractvoidshow2();}AbstractclassSubDemoextendsDemo{Voidshow1();}ClassTestextendsSubDmeo{Voidshow2();}1、抽象类中可不可以不定义抽象方法?可以;看上去没有什么意义,其实有点意义,就是不让这个类创建对象,为什么不让创建?代码体现:interfaceInterTest//这是一个测试接口,有4种测试方式。{voidtest1();voidtest2();voidtest3();voidtest4()

8、;}abstractclassInterTestImplimplementsInterTest//用这个类进行所有的空实现。但是创建对象是毫无意义的。所以用抽象。{publicvoidtest1(){}publicvoidtest2(){}publicvoidtest3(){}publicvoidtest4(){}}classTest2extendsInterTestImpl{publicvoidtest2(){}}classTest3extendsInterTest

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。