java核心技术-读书笔记(二)

接口/lambda表达式与内部类

接口

为了让类实现一个接口,
(1)将类声明为实现给定的接口
(2)为接口中的所有方法进行定义
要将类声明为实现某个接口,使用implements:
class Employee implements Comparable
需要提供compareTo方法(sort要用)

class Employ implements Comparable<Employee>
{
    public int comaraTo(Employee other)
    {
        return Double.compare(salary,other.salary);
    }
}

  • 接口的特性
    不能声明接口的对象,能声明接口的变量
public interface Moveable
{ 
      void move(double x,double y);
}
接口可以拓展
public interface Powered extend Moveable
{
    double milesPerGallon();
    double SPEED_LIMIT = 95;
}

解决默认方法冲突
(1)接口与超类的方法冲突,超类优先
(2)一个超接口与接口相冲突,覆盖这方法

interface Named
{
   default String getName()
   {
       return getClass().getName()+"_"+hashCode();
   }
}
class Student implements Person,Named
{
     public String getName()
     {
         return Person.super.getName();
     }
}
  • 接口实例
    1.回调
    2.Comparator接口
public class lengthcomp implements Comparator<String>
{
  public int compare(String first,String second)
  {
      return first.length()-second.length();
  }
  String[] friends = {"peter,"paul","mary"};
  Arrays.sort(friends,new lengthcomp)
}
  • 内部类
    既可以访问自身的数据域,还可以访问它的外围类对象的数据域
    1.局部内部类(不能用public 或private进行声明)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值