北京中医药大学《JAVA技术与应用》课件-第8-9章抽象类、接口及内嵌类.pptxVIP

  • 1
  • 0
  • 约3.28千字
  • 约 52页
  • 2023-04-26 发布于河北
  • 举报

北京中医药大学《JAVA技术与应用》课件-第8-9章抽象类、接口及内嵌类.pptx

大学,本科,专科,硕士,笔记,课件,期中试卷答案,期末试卷答案,教材答案,知识点,经济法,材料科学基础,材料力学,电路,电子技术基础,高频电子线路,宏观经济学,模拟电路基础,模拟电子技术,数字电路,数字电子技术,数字信号处理,通信原理,信号与系统,化工原理,机械设计基础,机械原理,机械制图,微机原理与接口技术,C++程序设计,JAVA技术与应用,MATLAB基础与应用,计算机网络,计算机组成原理,软件工程数据结构,工程力学,工程热力学,结构力学,力学,流体力学,水力学,工程测量,工程经济学,工程

第8章 抽象类、接口及内嵌类;现实生活中有很多抽象概念 动物 形状 水果 面向对象的程序世界与现实世界是一致的。 Java表达抽象概念采用抽象类。 Java表达抽象行为能力用接口。;8.1.1 抽象类的定义 ;8.1.2 抽象类的应用 ;class Triangle extends Shape { //定义三角型 private double a, b, c; public Triangle(double a, double b, double c) { this.a = a; this.b = b; this.c = c; } public double area() { double p = (a + b +c) / 2; return Math.sqrt(p * (p - a) * (p- b) * (p- c)); } };定义矩形;定义圆;public class Test{ public static void main(String args[]) { Shape s[] = new Shape[3]; s[0] = new Triangle(25, 41, 50); s[1] = new Rectangle(15,20); s[2] = new Circle(47); for (int k= 0; k s.length; k ++) System.out.println( s[k].area() ); } };abstract class MineBase { abstract void amethod( ); static int i; } public class Mine extends MineBase{ public static void main(String argv[ ]){ int[ ] ar = new int[5]; for (i = 0;i ar.length;i++) System.out.println(ar[i]); } } A.输出5个0; B.编译错误:ar 未初始化就使用; C.编译错误:Mine 必须定义为抽象的; D.运行错误,i超出数组下标范围。;写出程序运行结果;8.2.1 接口定义 ;?在Java 8中允许接口有default方法和static方法,Java 9后接口进一步可以定义private方法。 default方法是在定义方法头上添加了default关键字, 这两类方法均给出方法的具体实现,用于扩展接口功能。 default方法将由实现接口的类继承,而静态方法需要通过接口名调用。;interface Copyable { Object copy (); };8.2.2 接口的实现 ;8.2.2 接口的实现 (续);有关接口的实现,要注意以下问题;二义性问题 ;8.3 内嵌类 ;public class OuterOne { private int x=3; private int y=4; public void OuterMethod( ) { InnerOne ino=new InnerOne( ); ino.innerMethod( ); } public class InnerOne { //内嵌类 private int z=5; int x=6; public void innerMethod() { System.out.println(y is +y); System.out.println(z is +z); System.out.println(x =+x); System.out.println(this.x=+this.x); System.out.println(OuterOne.this.x=+ OuterOne.this.x); } } };有关说明;在main方法中间接创建内嵌类的对象;public class Outer{ public String name = Outer; public static void main(String argv[ ]){ Inner i = new Inner( ); i.showName( ); } private class Inner{ String name =new String(Inner); void s

文档评论(0)

1亿VIP精品文档

相关文档