皮皮安学习Java第八天

写在前面

马上就要到小程序交作品的时间了,不到20天,必须的动手了,那这样Java这边要耽误一点了,不管怎么样日更还是要有的,每天学的可能要少一点,明天又是满课...我快疯了。这一周的目标是接口和一个阶段项目实战。

今日所学

接口

如果一个抽象类只有抽象方法和常量值,则可以定义为接口。

1.概念

从本质上来讲,接口是一种特殊的抽象类,只能包含常量和方法声明。

2.用法

定义接口

  1. 语法:interface  接口明{  常量   抽象方法  }
  2. 接口中的属性默认被(public static final)修饰
  3. 接口中的方法,默认被(public abstract)修饰
  4. 接口中没有构造方法,不能被实例化接口。

实现接口

  1. 语法:class  类名 implements 接口名{       }
  2. 实现接口的类称为实现类,实现类必须实现接口中所有的抽象方法,且方法必须使用public修饰。
  3. class  类名 extents  父类  imlemements 接口名{    }

3.特征

  1. 一个类可以实现多个接口,多个接口之间用逗号隔开
  2. JDK1.8及以后,可以使用default关键字修饰方法
  3. 此时方法可以有方法体,但一般都为空方法(简化实现类操作,无需实现所有的方法)

今日代码

import java.sql.Array;
import java.util.Arrays;

public class EmployeeSortTest {
    public static void main(String[] args) {
        var staff = new Employee[3];

        staff[0]= new Employee("Harry Hacker",35000);
        staff[1]= new Employee("Carl Cracker",70000);
        staff[2]= new Employee("Tony Tester",38000);

        Arrays.sort(staff);

        for (Employee e:staff
             ) {
            System.out.println("name="+ e.getName()+",salary="+e.getSalary());
        }
    }
}
public class Employee implements Comparable<Employee>{
    private String name;
    private double salary;

    public Employee(String name,double salary)
    {
        this.name = name;
        this.salary=salary;
    }

    public String getName() {
        return name;
    }
    public double getSalary() {
        return salary;
    }
    public void raiseSalary(double byPercent)
    {
        double raise = salary + byPercent / 100;
        salary+=raise;
    }

    public int compareTo(Employee other)
    {
        return Double.compare(salary,other.salary);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值