Java接口

接口中,我们需要注意以下几点:

接口中的所有方法自动地属于 public。 因此,在接口中声明方法时,不必提供关键字public 

接口绝不能含有实例域, 在 JavaSE 8之前, 也不能在接口中实现方法。

接口不是类,尤其不能使用 new 运算符实例化一个接口:

x = new Comparable(. . .); // ERROR

接口变量必须弓I用实现了接口的类对象:

x = new Employee(. . .); // OK provided Employee implements Comparable

 在接口中不能包含实例域或静态方法,但却可以包含常量。例如:

public interface Powered extends Moveable{
    double milesPerCallonO;
    double SPEED.
    LIHIT = 95; // a public static final constant
}

与接口中的方法都自动地被设置为 public—样,接口中的域将被自动设为 public static final。

一个类只能有一个父类,但是可以有多个接口。

我们简单实现一个类和接口的例子:

package interfaces;

import java.util .*;

 /
 * This program demonstrates the use of the Comparable interface .
 * ©version 1.30 2004-02-27
 * ©author Cay Horstmann
 */
public class EmployeeSortTest
    public static void main (St ring口 args){
        Employee[] staff = new Employee[3];
        staff[0] = new Employee ("Harry Hacker" , 35000) ;
        staff[1] = new Employee ("Carl Cracker" , 75000);
        staff[2] = new Employee ("Tony Tester" , 38000) ;
        Arrays.sort(staff) ;
        // print out information about all Employee objects
        for (Employee e : staff)
            System ,out. println("name=" + e . getNameQ + " ,salary=" + e . getSalary());
    }
}
package interfaces;

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);
    }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值