java抽象类和接口报告总结_java中抽象类和接口总结

首先,我们先看看java与c++在一些方面的不同和相似点

1.Java虚函数

C++中普通成员函数加上virtual关键字就成为虚函数

Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行为。如果Java中不希望某个函数具有虚函数特性,可以加上final关键字变成非虚函数

2. Java抽象函数(纯虚函数)

C++中纯虚函数形式为:virtual void print() = 0;

Java中纯虚函数形式为:abstract void print();

3. Java抽象类

C++中抽象类只需要包括纯虚函数,既是一个抽象类。如果仅仅包括虚函数,不能定义为抽象类,因为类中其实没有抽象的概念。

Java抽象类是用abstract修饰声明的类。

4. Java接口

C++中接口其实就是全虚基类。

Java中接口是用interface修饰的类

由上面可见

C++虚函数 == Java普通函数

C++纯虚函数 == Java抽象函数

C++抽象类 == Java抽象类

C++虚基类 == Java接口

下面,我们再说一下java中抽象类和接口的详细说明

抽象类(abstract class)的定义方式如下:

public  abstract    class     Abstract    Class //里面至少有一个抽象方法

{

public int t; //普通数据成员

public   abstract   void method1(); //抽象方法,抽象类的子类在类中必须实现抽象类中的抽象方法

public abstract    void method2();

public void   method3(); //非抽象方法

public int   method4();

publi int   method4 (){

…… //抽象类中可以赋予非抽象方法方法的默认行为,即方法的具体实现

}

public void method3(){

…… //抽象类中可以赋予非抽象方法方法的默认行为,即方法的具体实现

}

}

接口(interface)的定义方式如下:

public interface Interface

{

static final int i; //接口中不能有普通数据成员,只能够有静态的不能被修改的数据成员,static表示全局,final表示不可修改,可以不用static final 修饰,会隐式的声明为static和final

public void method1(); //接口中的方法一定是抽象方法,所以不用abstract修饰

public void method2(); //接口中不能赋予方法的默认行为,即不能有方法的具体实现 }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值