On Github zheng861014 / zheng861014.github.com
2013-9-4
1. ʲô�Ƿ�װ��
��װ���ǽ�����˽�л����ṩ���еķ�������˽�����ԡ��磺
private String name; public String getName(){ retun name; } public void setName(){ this.name = name; }
1. �����У��̳е������洦�ɼ����磺
2. ʹ�ü̳еĺô���
ʹ�ü̳����ߴ����ĸ�����
3. ����ʵ�ּ̳�
��Java�����У���extends�ؼ��ֱ�ʾһ�����̳���һ���࣬���磺
public class Son extends Father{ //��������ʡ�� }
�ڸ�����ֻ����һЩͨ�õ������뷽�������磺
public class Animal{ private String name; pulic Animal(String name){ //��ʼ������ֵ } public void eat(){ //�Է����ľ���ʵ�� } }
�����Զ��̳и��������Ժͷ����������п��Զ����ض������Ժͷ������磺
public class Lion extends Animal{ public Lion(String name){ super(name); } public void eat(){ System.out.println(���̳и���eat()��); super.eat(); } }
1. ʲô�Ƕ�̬��
ָ�����ж����������뷽���������̳к��Ծ��в�ͬ���������ͻ���Ϊ��
2. �����еĶ�̬���磺
3. ��̬��ͨ�����Ǹ����ķ�����ʵ�֣��������Ǹ��ݴ��ݵĶ������ã���ʵ����Ӧ�ķ������磺
public static void main(String[] args){ A a = new B(); a.print(); } static class A{ void print(){ System.out.println(��This is A.��); } } static class B{ void print(){ System.out.println(��This is B.��); } }
1. Java�еĶ��ؼ̳�
�ӿ���ʵ�ֶ��ؼ̳е�;��
���ؼ̳У���������ʵ�ֶ����ӿ�;����ֻ�ܼ̳�һ������
class A{} class B{} class C extends A{} interface D{} interface E{} interface F extends D,E{} public class Test extends C implements D,E
ʹ�ýӿڵĺ���ԭ����
a. Ϊ���ܹ�����ת��Ϊ���������ͣ��Լ��ɴ˴����������ԣ�
b. ��ʹ�ó�������ͬ:��ֹ�ͻ��˳���Ա���������Ķ���ȷ���������ǽ���һ���ӿ�
ע������֪��ij����Ӧ�ó�Ϊһ�����࣬��ô��һѡ��Ӧ��ʹ����Ϊһ���ӿ�
2. �����ӿ�
�ӿ��������˵�ԭ��֮һ����������ͬһ���ӿھ��ж�����ͬ�ľ���ʵ�֣�
����������ʽͨ����һ�����ܽӿ����͵ķ��������ýӿڵ�ʵ�ֺ����÷������ݵĶ�����ȡ���ڷ�����ʹ���ߡ�
�������þ��Dz���ģʽ
public Context(IStrategy strategy){ this.strategy = strategy; } Scanner���Ĺ��췽��������Ҳ��ʹ�ýӿ� public Scanner(Readable source){ this(source,WHITESPACE_PATTERN) }
3. �ӿ��е���
�ӿ��е���Ĭ�Ͼ���static final
jdk1.5��ǰ������ʵ����enum���Ƶ�����
�ӿڿ���Ƕ�������������ӿ���
����java.util.Map�о�Ƕ����Entry,v>,v>
4. �ӿ��빤��
�ӿ���ʵ�ֶ��ؼ̳е�;������������ѭij���ӿڵĶ����ĵ��ͷ�ʽ���ǹ���ģʽ
1. �ڲ����Ķ���
���Խ�һ�����Ķ���������һ�����Ķ����ڲ����������ڲ���
2. �����ǽ���һ��inner classʱ����������ӵ�������ⲿ������֮����һ�ֹ�ϵ������ͨ��һ��������this reference��ʽ�ģ�ʹ���ڲ����������������ķ����ⲿ�������еij�Ա��
public class Outer{ private int index = 100; private void print(){ Inner i = new Inner(); i.print(); } class Inner{ private void print(){ System.out.println(index); } } public static void main(String[] args){ Outer o = new Outer(); o.print(); } }
3. ʹ��.this��.new
a. ���ڲ��������ɶ��ⲿ������������.this
public class DotThis { void f() { System.out.println(��DotThis.f()��); } public class Inner{ public DotThis outer(){ //���ڲ���������ɶ��ⲿ�������� return DotThis.this; } } }
b. ���������д����ڲ�������.newҪͨ���ⲿ����һ������������
public class DotNew{ public class Inner {} public static void main(String[] args){ //������Ҫ�����ڲ���ʱ //Ҫʹ���ⲿ���������������ڲ��������� DotNew dn = new DotNew(); DotNew.Inner dni = dn.new Inner(); } }
4. �ڷ������������ڵ��ڲ���
������һ�����������������������������ڶ����ڲ��࣬�������£�
a. ʵ����ij���͵Ľӿڣ����ǿ��Դ��������ض��������á�
b. �����������⣬��Ҫ����һ���������������������ֲ�ϣ���������ǹ������õġ�
5. �����ڲ���
�����ڲ���������һ������ʽ��������new XXX(){},����������Ϊ�������̣�
a. �̳л�ʵ��(new XXX() XXX���Ա�ʾ��Ҳ�����ǽӿ�)
b. ʵ����
6. �ڲ�����ʶ��
�ⲿ��$�ڲ���
�����������ڲ��࣬��������һ����������ʾ
1. ������
��������JDK1.4֮�������ģ�ʵ���˲��������͵ĸ��ʹ��������Ӧ���ڶ������͡������˱߽�(����ʲô��������ʲô)���ڣ������ܳ�Ϊ�������֡���Ϊֻ��֪����ij��������������ʲô�������ܸ��õ������������ģ����ֲ����IJ��㡣
2. ���ͼ�Ԫ��
��һ�η������þ��ܷ��ض�������
class Holder2 <A,B>{ private A first; private B second; public Holder2(A a,B b) { first = a; second = b;} public String toStrinig() { return "(" + first + "," + second +")"; } }
3. ���ͽӿ�
interface Generator <T> { T next(); } public class Ted implements Generator <String>{ public String next(){ return ""; } }
4. ���ͷ���
���뽫���Ͳ����б����ڷ���ֵ֮ǰ
public class GenericMethods { //�����Ͳ����б����ڷ���ֵ֮ǰ public <T> void f(T... args){ return ; } }
5. ����
List<String>.class��List<Integer>.class����ͬ���͵ģ�����ʱ��Ӧ�����Ͷ���list��
������ʧ���ڷ��ʹ�����ִ��ijЩ�������������κ�����ʱ��Ҫ֪��ȷ��������Ϣ�IJ���������������
List<String> a = new ArrayList<String>(); List<Integer> b = new ArrayList<Integer>(); System.out.println(a.getClass() == b.getClass()); ��ӡ����: true
6. �ܽ�
a. ʹ�÷��͵�Ŀ�����ڿɱ�����,����������Ϊ�˴������Ͱ�ȫ�������ڷ��ͳ���֮ǰ,�������зŵ���object,ȡ������Ҫ��ת��
b. ����һ�ַ���,ͨ�������Ա�д���������Ĵ���,��Щ�������������ܹ����õ����;��и��ٵ�����,���˵����Ĵ����ο���Ӧ�õ�������������
1. String�����Dz��ɱ���
String����ÿһ������������Stringֵ�ķ���,ʵ���϶��Ǵ�����һ��ȫ�µ�String����,�����ĺ����ַ�������. ��������String����˿��δ����
2. ����+��+=��StringBuilder
+��+=��java�н��е��������ع��IJ������� +���������Ƿ�String��,������toString������Object��toString������ӡ���������ڴ���ַ��StringBuilder���̰߳�ȫ��StringBuffer�̰߳�ȫ��
3. ��������ʽ
public static void main(String[] args) { //����������������ʽ���뵽ģʽ�� Pattern p = Pattern.compile("a*b"); //����ƥ���� Matcher m = p.matcher("aaaaab"); //��ģʽ����ƥ�� boolean b = m.matches(); System.out.println(b); //��һд��(������дģʽ��������,�ʺ�һ��ƥ��) b = Pattern.matches("a*b", "aaaaab"); System.out.println(b); //String�е�matches String str = "1111"; b= str.matches("\\d*"); System.out.println(b); }