Thinking in Java:第九章-接口
2017-12-19 11:00
330 查看
1:包含抽象方法的类叫做抽象类,如果一个类包含一个或多个抽象方法,该类九必须被设定为抽象的。
2:接口 interface不仅仅一个嫉妒抽象的类,因为它允许人们通过创建一个能够被向上转型为多种基类的类型,来实现类似多重继承变种的特性。接口可以包含域,但是这些域隐式的是static 和 final
3:使用接口的原因:为了能够向上转型为多个基类型。使用接口的第二个原因与使用抽象类相同:防止客户端程序员创建该类的对象。在抽象类和接口的选择中,如果要创建不带任何方法定义以及成员变量的基类,就应该创建接口。
4:接口使用案例
2:接口 interface不仅仅一个嫉妒抽象的类,因为它允许人们通过创建一个能够被向上转型为多种基类的类型,来实现类似多重继承变种的特性。接口可以包含域,但是这些域隐式的是static 和 final
3:使用接口的原因:为了能够向上转型为多个基类型。使用接口的第二个原因与使用抽象类相同:防止客户端程序员创建该类的对象。在抽象类和接口的选择中,如果要创建不带任何方法定义以及成员变量的基类,就应该创建接口。
4:接口使用案例
public interface Processor { String name(); Object process(Object o); }
public abstract class StringProcessor implements Processor{ public String name() { return getClass().toString(); } public abstract String process(Object o); }
public class Apply { public static void apply(Processor p, Object o) { System.out.println("Processor:" + p.name()); System.out.println(p.process(o)); } }
public class Upcase extends StringProcessor { public String process(Object input) { return ((String) input).toUpperCase(); } }
public class Splitter extends StringProcessor { public String process(Object input) { return Arrays.toString(((String) input).split(" ")); } }
public class Test { public static void main(String[] args) { Apply.apply(new Upcase(), "she is a girl"); Apply.apply(new Splitter(), "she is a girl"); } }
相关文章推荐
- thinking in java 笔记 思维导图 第九章 接口
- Thinking in JAVA笔记——第九章 接口
- Thinking in Java--第九章-接口
- Thinking in Java 第七章 多态 第八章:接口与内部类 第九章:异常处理
- Thinking in Java之接口回调改版
- Thinking in Java第三版读书笔记-第九章:异常带来处理错误
- Java编程思想 第九章 接口
- Core Java第九章知识点总结——接口
- Thinking in Java之Set接口、HashSet源码学习
- Thinking in Java 4th - 第9章 接口
- Thinking in Java之接口回调改版
- Thinking in Java之Set接口、HashSet源码学习
- thinking in java 笔记--接口规则(interface rules)(2007.10.11)
- Thinking in Java之接口回调改版
- thinking in java 学习笔记(一) 接口于多重继承
- 再读thinking in java -- 第八章 多态 & 第九章 接口
- 读thinking in java笔记(八):接口
- #Thinking in Java阅读笔记# 第九章 接口
- Think in java 第八章 多态 第九章 接口 第十章 内部类
- java 第九章 抽象类、接口和包 笔记