
本文共 9644 字,大约阅读时间需要 32 分钟。
���������������������Java������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������
####Abstract Class���������������
������������Java������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������
abstract class AbstractClass { abstract public void print();}class ConcreteClass extends AbstractClass { @Override public void print() { System.out.println("���������������������������"); }}class MainClass { public static void main(String args[]) { AbstractClass instance = new ConcreteClass(); instance.print(); }}
������������������������������������������abstract������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
####Template Method������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
���Action���������������
interface Action { static final int EAT = 1; static final int REST = 5; static final int WORK = 10; void actionSwitch(int code); abstract public void eat(); abstract public void rest(); abstract public void work();}class Robot implements Action { @Override public void eat() {} @Override public void rest() {} @Override public void work() { System.out.println("������������������������"); }}class Person implements Action { @Override public void eat() { System.out.println("������������������"); } //...}
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������Wrapper Classes���
������������Java������������������������������������������������������������������������������int���double���������������������������������������������������������������������������������������������������������������������������������������������������
���Number������������
public class Number { private final int num; public Number(int num) { this.num = num; } public int intValue() { return this.num; } //... public static Number.valueOf(int num) { return new Number(num); }}
���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
���������Interfaces���
####Interface������������������
��������������������������������������������� �������������������������������������������������������������������������������������������������������������������������������������������������� Concrete Implementation���������������������������������������������������������������
��� Welcome���������������
interface Welcome { abstract void welcome();}class MessageService implements Welcome { @Override public void welcome() { System.out.println("������������������������"); }}
������������������������������������Java EE��� Swing������������������������������������������������������������������������������������������������������������������������������
####Interfac e������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
���������Service���������������Channel���Database���������
interface Channel { abstract boolean channelConnect();}interface Database { abstract boolean databaseConnect();}interface Service extends Channel, Database { abstract String service();}
���������������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������
####Factory Design Pattern������������������������
������������������������������������������������Factory���������������������������������������������������������������������������������������������������������������������������������������������������������
���IEat���������������
interface IEat { void eat();}class Bread implements IEat { @Override public void eat() { System.out.println("���������"); }}class Milk implements IEat { @Override public void eat() { System.out.println("���������"); }}class Factory { public static IEat factoryGet(String food) { if (food.equals("bread")) { return new Bread(); } else if (food.equals("milk")) { return new Milk(); } return null; }}
������������������������������������������������������������������������������������������������������������
####Proxy Design Pattern������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
���IEat���������������
interface IEat { void get();}class EatReal implements IEat { @Override public void get() { System.out.println("[������������]���������������"); }}class EatProxy implements IEat { private IEat eat; public EatProxy(IEat eat) { this.eat = eat; } @Override public void get() { prepare(); eat.get(); clean(); } public void prepare() { System.out.println("[������������]���������������"); } public void clean() { System.out.println("[������������]���������������"); }}
���������������������������������������������������������������������������������������������������������������������������������
v��d��as���������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
interface IEat { void eat();}class Milk implements IEat { @Override public void eat() { System.out.println("���������"); }}class Bread implements IEat { @Override public void eat() { System.out.println("���������"); }}class EatProxy implements IEat { private IEat eat; public EatProxy(IEat eat) { this.eat = eat; } @Override public void eat() { prepare(); this.eat.eat(); end(); } public void prepare() { System.out.println("������������"); } public void end() { System.out.println("������������"); }}class Factory { private Factory() { } public static IEat factory(String food) { switch (food) { case "milk": return new EatProxy(new Milk()); case "bread": return new EatProxy(new Bread()); default: return null; } }}
������������������������������������������������������������������������������������������������������������������������������������������������������������������������
Generics������������
####Generics ������������������������
���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Generics ������������������������������������������������������������������������������
���Point������������
class Point{ private T value; public void setValue(T value) { this.value = value; } public T getValue() { return this.value; }}class IntegerPoint extends Point { public static void main(String[] args) { IntegerPoint point = new IntegerPoint(); point.setValue(20); System.out.println(point.getValue()); // 20 point.setValue("������120���"); // compile error������������String���������int }}
���������������������������������������������������������������������������������������������ClassCastException������������������������������������������������
####Generics ���������������
���������������������Generics���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������
������������Java���������������������������������������������������������������������������������������������������������������������������������������������������������Java������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
发表评论
最新留言
关于作者
