java基础 接口

                   java  接口

今天学习了java中有关于接口的相关知识,在这里整理出来,方便以后复习。

这里先提一句接口的写法:

  public interface 接口名称{}

实现接口的写法:

public class 类名 implements 接口名称{}

以下是接口主要的知识点:

1:接口是一种完全的抽象类。
ex:

public abstract double area(); //可以省略:public abstract
double perimeter();//Java会自动帮我们加:public abstract

2:接口中的变量全是常量:public static final

ex:

public static final int MAX=5;
public static final int MAX;//声明时必须赋初值

3:接口自己本身是不能new对象的,只能当做引用来用,引用的实例为实现类对象。

4:一个类要实现接口,必须把接口中所有的抽象方法全部实现,否则就要声明成抽象类,实现类有时我们也把它称为子类。
ex: 写了一个接口为Area:

public interface Area{
     public  abstract double area( );
}

则实现类Rectanger类要实现接口中所有的抽象方法
public class Rectanger implements Area{
      public  double area(){
    }

}

5:接口当作父类引用来使用,语法就是多态。
ex:

 Area g = new Rectangle(20, 15);
 System.out.println( g.area() );//多态: 1)编译  2)运行

6:接口本质上是类,它继承自objec,因此通过接口引用可以访问objec的方法。

7:一个类可以同时继承父类(单继承),又实现接口(多实现)
ex:

 public class Cuboid extends Rectangle implements Volume{

}

8:注意有些时候,虽然从语法上讲,子类可以调用父类中的方法,但不符合工程需要。

9:一个接口可以继承父接口,且可以多继承。
ex:

public interface AreaVolume extends Area,Volume {
.......
}

10:接口具有封装隔离功能。
ex:
public class Run {

public static void main(String[] args) {

    Area g = new Cuboid(10, 20, 30);
    System.out.println( g.toString() );
    System.out.println( g.area() );
    //通过
    System.out.println( g.volume() ); 
    //编译时报错  Area接口中没有volume()方法

    Volume v = new Cuboid(10, 20, 30);
    System.out.println( v.toString());
    System.out.println( v.area() ); 
    //编译时多态过不了,olume接口中没有area()方法
    System.out.println( v.volume() );
    //通过

    g = (Area)v; //强转是为了让编译器通过编译时多态
    System.out.println("强转之后:"+g.area());//通过

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值