接口和抽象类的区别

抽象类:

-------不是具体的类(有的方法没有实现)

        1).抽象的方法-----只有行为的概念,没有具体的实现

(只有方法的声明,没有方法的实现,需要靠子类来实现)

格式:public abstract 返回值类型 方法名字(参数列表);

2).含有抽象方法的类,叫做抽象类

格式:abstrct class 类名{

}

3)抽象类的子类必须实现所有的抽象方法

4)抽象类只能被继承,一个具体的类来继承一个抽象类,并且实现抽象的方法

5)抽象类不能直接实例化,但可以使用父类声明指向子类对象


案例:

图形类Shape:抽象类

属性:point(x,y)

方法:1).求该图形的面积

    2)判断一个点point是否在图行的上面

    3)判断一个点(x,y)是否在图形上

园(circle):具体类,继承图形类,并且要实现其方法

public class Demo{
public static void main(String[] args) {
Circle c = new Circle();
System.out.println(c.mianji());
System.out.println(c.isShapePoint1(2, 3));
}
}
class Piont{
int x;
int y;
Piont(int x,int y){
this.x=x;
this.y=y;
}
}
abstract class Shape{
Piont piont;
abstract double mianji();
abstract String isShapePoint1(int x,int y);
}
 class Circle extends Shape{
double mianji=0;
//半径假设为10;
double R=2;
//圆心
Point point=new Point(1,1);
String isShapePoint1(int x,int y){
System.out.println(point.x);
return (Math.sqrt((x-point.x)*(x-point.x)+(y-point.y)*(y-point.y))<=R ? "yes" : "no");
}


@Override
double mianji() {
mianji=Math.PI*R*R;
return mianji;
}
 }



接口

(接口和接口可以实现多继承)

1).接口一般认为是一个特殊的抽象类
2).特点:接口中的方法全部都是抽象方法,接口中的属性全是常量

接口和抽象类的区别:
abstract class 类名{
属性
构造方法
一般方法
抽象方法
}

interface  接口名{
常量
抽象方法
}
Serializable----标识硬盘中的地址,实现序列化的接口(标识性接口,没有方法实现)

4).接口不能直接实例化,可以让实现类来实例化,接口跟实现类就是继承关系,实现接口的子类:必须要实现接口中所有的方法
5).接口可以使用上转型
6).java中类的继承单继承,接口实现多实现


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值