Java SE程序设计05_第5章 抽象类、接口和内部类.ppt

Java SE程序设计05_第5章 抽象类、接口和内部类.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
抽象类、接口和内部类 - * - 掌握抽象类的定义及使用 掌握接口的定义及使用 了解内部类的使用 目标 - * - 抽象类-1 抽象类 在面向对象的概念中,所有的对象都是通过类来表述,但并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一类具体的对象,这样的类就是抽象类。 抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。 抽象类和接口两种机制的引入,使Java拥有了强大的面向对象编程能力。 抽象类需要注意以下几点: abstract放在class前,指明该类是抽象类; abstract放在方法声明中,则该方法是抽象方法,抽象方法没有方法体; 一个抽象类可以含有多个抽象方法,也可以含有已实现的方法。 - * - 抽象类-2 抽象类实例 定义一个类Shape来演示抽象类的定义和使用。 public abstract class Shape { double dim; public Shape(double dim) { this.dim = dim; } // 抽象方法,获得面积 public abstract double callArea(); // 抽象方法,获得周长 public abstract double callPerimeter(); } 未实现的方法 - * - 抽象类-3 抽象类的使用实例 定义Shape类一个的子类Circle来演示抽象类的使用。 public class Circle extends Shape { public Circle(double dim) { super(dim); } // 实现抽象方法callArea() public double callArea() { // 返回圆的面积 return 3.14 * dim * dim; } // 实现抽象方法callPerimeter() public double callPerimeter() { // 返回圆的周长 return 2 * 3.14 * dim; } public static void main(String[] args) { // 声明一个Shape对象,指向实现它的子类对象 Shape shape = new Circle(10); // 调用callArea()求圆的面积,并输出 System.out.println(圆的面积是: + shape.callArea() ); // 调用callPerimeter()求圆的周长,并输出 System.out.println(圆的周长是: + shape.callPerimeter() ); } } 执行结果如下: 圆的面积 : 314.0 圆的周长 : 62.800000000000004 - * - 抽象类-4 抽象类的特点 抽象类虽然具备类的形式,但由于其“抽象”性,不能定义抽象类的实例,即不能为抽象类分配具体空间 ; Shape circle= new Shape(3); 这是错误的! 抽象类不能实例化。 可以通过如下方式来实例一个抽象类 Shape someShape; //引用Circle类的实例对象 someShape = new Circle(5); someShape.callArea(); 注意:抽象类不能实例化,但可以指向一个实现它的子类对象; abstract不能与final同时修饰一个类; abstract不能和static、private、final或native并列修饰同一方法。 - * - 接口-1 接口概述 Java是单继承的语言,利用接口可以模拟多继承; 接口是对抽象类的进一步抽象,是方法声明和常量的定义集合; 接口是一种行为规范,是一种“契约”; 具体格式如下所示: 抽象类表示的是一种继承关系,一个类只能使用一次继承关系,这样限制了类的多重体现 。如何解决这个问题呢? 访问符 interface 接口名 { [访问符] 返回类型 方法名([参数列表]); ...... } - * - 接口-2 接口实例 定义一个接口MultiInterface.java来演示接口中常量的定义 。 public interface MultiInterface { public static final double PI = 3.1415926; public void callArea(); default void before(){ //仅限于JDK8

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档