3.11抽象类接口

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

抽象类接口

Final:

修饰三种方法:

变量:变量一旦初始化,他的值不可变,成为常量

方法:在子类中不能重写这个方法。父类中的方法是最终版本。

类:不能有子类

一般使用static final声明常量

常量:

命名规则

全大写,单词之间常用下划线隔开double MATH_V ALUE;

编译器和运行期都会进行优化

1.Byte a=2;

Byte a=3;

Baty c=a+b;//错

2.Baty c=2+3;//对

3. final Byte a=2;

final Byte a=3;

final Baty c=a+b;//对编译器自动优化

static final double p1=3.14;

//final成员没有必要变成实例变量在每个实例中都分配内存空间

//添加static关键词作为类的变量,在内存中只有唯一的地址。节省内存。

private int x;

private int y;

public point() {

super();

}

public point(int x, int y) {

super();

this.x = x;

this.y = y;

}

public double distance(){

// 使用自己的xy属性

return Math.sqrt(x*x+y*y);

}

public double distance(point p){

//是自己的属性和p的xy属性运算

int dx=x-p.x;

int dy=y-p.y;

return Math.sqrt(dx*dx+dy*dy);

}

public void setX(int x) {

this.x = x;

}

public void setY(int y) {

this.y = y;

}

public int getX() {

return x;

}

public int getY() {

return y;

}

}

public class text1 {

public static void main(String[] args) { text();

test2();

}

private static void test2() {

final point p1=new point(2,3);

p1.setX(20);

//p1变量的值不可变。

System.out.println(p1.getX());

}

private static void text() {

final int a=8;

//a=11;//final的值不可变

System.out.println(a);

final int b;

b=12;//第一次赋值,相当于初始化

System.out.println(b);

}

}

抽象类

半成品类,一张未完成的图纸。

* 抽象方法

* 没有方法体

* 添加abstract关键字。

含抽象方法的类必须是抽象类

抽象类不能创建实例

抽象类的作用

需要有子类来继承

位子类来提供通用代码

为子类提供方法的规约,要求子类必须实现抽象方法

练习:

猜数字游戏:

已经产生了一个不重复的四位数字

相同:

游戏流程

不同:

如何产生随机数

判断

结果

提示

接口:

极端的抽象类

程序结构设计工具

用于解耦合

用法

接入可替换的组件

接口隔离,解耦合

接口语法:

定义接口

Public interface A【】;

实现接口

Class xxxx implement A【】;

Class xxxx implement A,B,C【】;

Class xxxx extends Parent implement A【】;

接口之间继承

Public interface A extends B【】;

Public interface A extends B,C【】;

接口内部只能定义三样东西

1.抽象方法

可省略两个变量public static

2.常量

可省略三个变量public static final

3.内部类或内部方法。

================================================================== 作业:

复习:类对象,引用

成员变量

成员方法

构造方法

This两种用法(构造方法之间调用;调用成员)重载

访问控制符

继承extends instanceof

多态

抽象类

接口

预习:

相关文档
最新文档