- 1
- 0
- 约3.28千字
- 约 52页
- 2023-04-26 发布于河北
- 举报
大学,本科,专科,硕士,笔记,课件,期中试卷答案,期末试卷答案,教材答案,知识点,经济法,材料科学基础,材料力学,电路,电子技术基础,高频电子线路,宏观经济学,模拟电路基础,模拟电子技术,数字电路,数字电子技术,数字信号处理,通信原理,信号与系统,化工原理,机械设计基础,机械原理,机械制图,微机原理与接口技术,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
您可能关注的文档
- 北京体育大学《组织行为学》课件-第2章个体心理与个体行为领导理论.pptx
- 北京体育大学《组织行为学》课件-第6章组织文化.pptx
- 北京外国语大学《编译原理》课件-第1章 引言.ppt
- 北京外国语大学《编译原理》课件-第3章 80x86微处理器.ppt
- 北京外国语大学《编译原理》课件-第4章 语法制导翻译生成中间代码.ppt
- 北京外国语大学《编译原理》课件-第5章 运行环境.ppt
- 北京外国语大学《编译原理》课件-第6章 代码生成.ppt
- 北京外国语大学《大学语文》课件-第2章现代文阅读.pptx
- 北京外国语大学《大学语文》课件-第3章科普小品写作.pptx
- 北京外国语大学《大学语文》课件-第4章公文概述.pptx
原创力文档

文档评论(0)