抽象类
抽象方法:只有方法名和参数列表,没有方法体。
用于描述抽象的功能,多用于功能设计。定义软件之间的约定功能。
Timer类约定:在适合时候调用TimerTask的抽象方法run()
使用Timer只需要实现run方法就可以实现定时任务。
Timer定时的“回调”run方法实现定时任务。
一般把包含抽象方法的类定义为抽象类
抽象类可以定义变量,不能直接实例化。
抽象类只能被继承
具体类继承抽象类时候必须“实现”(重写)全部抽象方法。
package day04;
/*
* 抽象类,用于表示抽象概念,这里表示抽象的图形概念
* 包含抽象方法的类一定是抽象类
* 抽象类可以定义变量,抽象类不能直接实例化,抽象只能被继承
* 具体类在继承抽象类时候必须实现全部的抽象方法
*/
public abstract class Shape {
protected int x;
protected int y;
/*具体方法,有方法体*/
public void up(){
y--;
}
/*抽象方法,没有方法体*/
public abstract boolean contains(int x,int y);
}
package day04;
public class Circle extends Shape {
private int r;
public Circle(){
}
public Circle(int x,int y,int r){
this.r = r;
this.x = x;//this.x继承于Shape类
this.y = y;
}
/* 实现了抽象类Shape中的抽象方法contains*/
public boolean contains(int x,int y){
int a = this.x -x;
int b = this.y -y;
double c = Math.sqrt(a*a+b*b);
return c
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?