- 2
- 0
- 约3.89千字
- 约 28页
- 2017-06-07 发布于湖北
- 举报
第五章:修饰符,接口 修饰符 在java语言中提供了一些修饰符,这些修饰符可以修饰类,变量和方法。灵活正确地运用这些修饰符,会使软件程序最贴切地模拟真实世界中的系统,并且有助于提高软件系统的可重用性,可维护性,可扩展性及系统的运行性能。 abstract修饰符 用abstract修饰的类表示抽象类,抽象类位于继承树的抽象层,抽象类不能实例化,即不允许创建抽象类本身的实例。没有用abstract修饰的类称为具体类,具体类可以被实例化。 用abstract修饰的方法表示抽象方法,抽象方法没有方法体。抽象方法用来描述系统具有什么功能,但不能提供具体的实现。没有用abstract修饰的方法称为具体方法,具体方法具有方法体。 abstract修饰符 抽象类的实例: public abstract class base{ abstract void method(); void method2(){ System.out.println(“method2”); } } abstract 修饰符需要遵守的规则 抽象类中可以没有抽象方法,但包含了抽象方法的类必须被定义为抽象类,如果子类没有实现父类所有的抽象方法,那么子类也必须被定义为抽象类,否则编译出错。 abstract class Person{ abstract void method1(); abstract void method2(); } abstract 修饰符需要遵守的规则 class student extends Person{ void method1(){ System.out.prinltln(“method1”); } } abstract 修饰符需要遵守的规则 没有抽象构造方法,也没有抽象静态方法。 abstract class Person{ abstract Person(){}//编译出错 static abstract void method1();//编译出错 static void method2()//编译通过 } abstract 修饰符需要遵守的规则 抽象类中可以有非抽象的构造,创建子类的实例时可能会调用这些构造方法。抽象类不能被实例化。然而可以创建一个引用变量,其类型是一个抽象类,并让它引用非抽象的子类的一个实例。 abstract class Person{} class Student extends Person{ Person p1=new Person();//编译出错 Person p2=new Student();//编译通过 } abstract 修饰符需要遵守的规则 抽象类及抽象方法不能被final修饰符修饰。 Abstract修饰符与final不能连用。因为抽象 类只有创建其子类,它的抽象方法才能被 实现,并且只有只有它的具体子类才能被 实例化,而用final修饰的类不能拥有子类,用 final修饰的方法不允许被子类方法覆盖,因此 把abstract修饰符与final修饰符连用,会导致自相矛盾。 为什么抽象类不能被实例化? 从语义上,抽象类表示从一些具体的类抽象出来的类型。从具体的类到抽象类,这是一种更高层次的抽象 在语法上,抽象类中可以包含抽象方法。 final修饰符 final具有“不可变的”含义,它可以修饰非抽象类,非抽象成员方法和变量。 ①用final修饰类不能被继承,没有子类。 ②用final修饰方法不能被子类的方法覆盖 ③用final修饰的变量表示常量,只能被赋一 次值。 final类 ①不是专门为继承而设计的类,类本身的方法之间有复杂的调用关系。假如随意创建这些类的子类,子类有可能会错误地修改父类的实现细节。 ②出于安全的原因,类的实现细节不允许会有任何改动 ③在创建对象模型时,确信这个类不会被扩展 final方法 在某些情况,出于安全的原因,父类不允许子类覆盖某个方法,此时可以把这个方法声明为final类型。 例如:所有Object的子类都可以覆盖equal()方法,但不能覆盖getClass()。 final变量 用final修饰的变量表示取值不会改变的变量。 例如: public static final int MAX_VALUE=2121212; public static final int
您可能关注的文档
- 机床电气-第四篇.pdf
- 机电-第7章中断系统及中断控制器8259A.ppt
- J2SE第三篇_面向对象编程---Birthday的分析过程.doc
- JA750型等离子体光谱仪测控系统的改造与应用.pdf
- 第八讲 实体特征的复制-改.ppt
- Java 2实用教程课件(第3版第4讲).ppt
- 机构的组成与其具有确切运动的条件.ppt
- 第八讲 数字印刷中的色彩管理.ppt
- Java 2实用教程课件(第3版第4章 类、对象及接口).ppt
- 机器作者和创造性.pdf
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 传媒法规与伦理教学课件(共22章)新闻伦理研究综述.pdf VIP
- 汽车行驶记录仪产品使用说明书.PDF VIP
- 2026年成都市美容医疗诊所医美项目安全规范运营可行性研究报告.docx VIP
- ocean培训petrel re快速入门工作流程.pdf VIP
- (四年级奥数班讲义.doc VIP
- 单病种病案数据填报指导手册.doc
- 企业 IPO 筹备方案(最新版,附时间表 + 材料).docx VIP
- 深圳初三数学联考模拟试题.docx VIP
- 高考历史二轮总复习精品课件 第四板块 世界现代史 第十七讲 现代科技的发展与当今世界发展的趋势.ppt VIP
- 2024年菏泽职业学院单招数学考试模拟试题及答案解析.docx VIP
原创力文档

文档评论(0)