您的位置:首页 > 编程语言 > Java开发

Java核心技术读书笔记一接口和内部类

2010-12-11 21:49 411 查看
一接口

接口不是类,只是对类的需求的一种描述。一个类实现了某个接口就意味着这个类符合定义这个接口的规范。

Arrays.sort()可以对对象数组进行排序,但是要求构成数组的元素对象必须实现Comparable接口:

]public interface Comparable<T>  {
int comparedTo(T other);
}


判断一个实例是否实现了Comparable接口:if (person instanceof Comparable) else ;

接口中不能包含实例域和静态方法。

接口中只能有public static final 变量和public 方法,谢谢关键词可加可不加。

抽象类和接口的区别:

抽象类可以实现一部分的方法, 而接口只是声明一个方法的signature而没有方法体;

一个类可以实现多个接口但是只能继承一个抽象类。

程序练习:

package com.wugeng.chapter6.interface;
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 this.name;
}
public double getSalary() {
return this.salary;
}

public void raiseSalary(int byPercent) {
double salary += salary*byPercent/100;
}
/*实现Comparable接口;
当前对象的薪水多于比较员工的薪水时返回1;
当前对象的薪水小于比较员工的薪水时返回-1;
否则认为两个对象的薪水相等,等值返回0.*/
public int compareTo(Employee other) {
if(salary > other.salary) return 1;
if(salary < other.salary) return -1;
return 0;
}
}
public class EmployeeSortor {
public static void main(String [] args) {
Employee[] staff= new Employee[3];
staff[0] = new Employee("张三", 1234.5);
staff[1] = new Employee("李四", 4321.5);
staff[2] = new Employee("王五", 1324.5);
Arrays.sort(employees);
for(Employee e : staff)
System.out.println("员工:" + e.getName() +" , 薪水:" + e.getSalary());
}
}



拷贝
对象

直接拷贝引用使两个引用都yeild到相同的对象。

三接口和回调函数

四内部类

五代理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: