08 2013 档案

java非静态内部类
摘要:package frank;import java.lang.*;public class App{ public static void main(String[] args) { Integer i1 = 127; Integer i2 = 127; System.out.println(i1==i2); App a = new App(); a.get(); } private void get() { App02 a=new App02(); a.print(); } private int age; private class App02 { private int... 阅读全文

posted @ 2013-08-29 23:04 wp456 阅读(354) 评论(0) 推荐(0)

命令模式
摘要:package frank;public class App{ public static void main(String[] args) { int[] array = new int[]{0,1,4,5,3,4}; ProcessArray pa = new ProcessArray(); pa.process(array,new PrintCommand());//相同的方法,不同的输出 pa.process(array,new AddCommand());//相同的方法,不同的输出 }}interface Command{ public abstract void proce... 阅读全文

posted @ 2013-08-07 16:20 wp456 阅读(169) 评论(0) 推荐(0)

接口
摘要:package frank;public class App implements Person{ public static void main(String[] args) { App ct = new App(); System.out.println(Person.AGE); } public void get(){};//实现接口,不实现接口的话就只能定义成抽象类。}interface Person extends Person2{ public static final int MAX_SIZE = 10; int AGE = 20; public abstract void .. 阅读全文

posted @ 2013-08-07 10:47 wp456 阅读(214) 评论(0) 推荐(0)

java抽象类
摘要:关键字:abstract。一个类中有抽象方法或者继承了抽象类或者接口,但是未实现方法,那么这个类必须是抽象类,且不能用final关键字修饰。字段、构造器、类方法不能定义为抽象的。抽象方法不能和private修饰符一起使用。抽象方法不能用static一起使用。局部变量不能定义为抽象的。 阅读全文

posted @ 2013-08-07 10:06 wp456 阅读(129) 评论(0) 推荐(0)

自定义缓存类
摘要:package frank;public class App{ public static void main(String[] args) { CacheTest ct1 = CacheTest.valueOf("1"); CacheTest ct2 = CacheTest.valueOf("1"); String s1 = new String("1"); String s2 = new String("1"); System.out.println(ct1 == ct2);//true System.out. 阅读全文

posted @ 2013-08-06 11:43 wp456 阅读(171) 评论(0) 推荐(0)

java中不可变类
摘要:package frank;/*真正的不可变类*/public class App{ private final Name name; public App(final Name name) { this.name = new Name(name.getFirstName(),name.getLastName()); } public Name getName() { return new Name(name.getFirstName(),name.getLastName()); } public static void main(String[] args) { Name name =... 阅读全文

posted @ 2013-08-05 22:05 wp456 阅读(179) 评论(0) 推荐(0)

java中final关键字
摘要:package frank;public class App{ public static void main(String[] args) { Person p = new Person(); final String s1 = "1";//使用final 把它变成宏变量,仅限直接量。 //s1 = "1"; 这样子赋值后就不会是宏变量 final String s2 = "2";//使用final 把它变成宏变量,仅限直接量。 String s3 = "12"; String s4 = s1 + s2;//执行 阅读全文

posted @ 2013-08-05 14:09 wp456 阅读(221) 评论(0) 推荐(0)

java单利模式
摘要:package frank;public class App{ public static void main(String[] args) { Person p1 = Person.getInstance(); p1.setAge(10); Person p2 = Person.getInstance(); System.out.println(p2.getAge()); }}class Person{ private int age; private Person() {} private static Person instances; public static Person ... 阅读全文

posted @ 2013-08-05 11:28 wp456 阅读(211) 评论(0) 推荐(0)

java中String类
摘要:如果为一个String的变量赋值一个直接量,那么这个直接量就会放入常量池里面。也就是说在编译的时候能确定的字符串都会放入常量池里面。package frank;public class App{ public static void main(String[] args) { String s = "123";//放入常量池 System.out.println(s.hashCode()); String s2 = "1"+"2"+"3";//如果常量池里面存在就会指向那个对象 System.out.println 阅读全文

posted @ 2013-08-05 11:10 wp456 阅读(238) 评论(0) 推荐(0)

java中toString()方法
摘要:java中当我们调用Person p = new Person(); System.out.println(p);其实会自动的调用p.toString()方法,由于所有的对象都继承Object对象,而Object对象里面有toString方法,所以所有对象都会有toString方法,Object里面的toString方法会返回类名+@+hashCode。所以我们 要对toString方法进行重写。package frank;public class App{ public static void main(String[] args) { Person p = new Person(); .. 阅读全文

posted @ 2013-08-05 10:20 wp456 阅读(436) 评论(0) 推荐(0)

java包装类
摘要:package frank;/**包装类练习*/public class App{ public static void main(String[] args) { Boolean b = new Boolean("True1");//非true/True的值都是false b = Boolean.parseBoolean("True");//包装类的静态方法 b = false;//1.5后增加的自动装箱和拆箱。 System.out.println(b); Integer intObj = new Integer("1");//包 阅读全文

posted @ 2013-08-05 10:10 wp456 阅读(137) 评论(0) 推荐(0)

java初始化快和静态初始化块
摘要:java静态初始化块可以理解为类初始化块它是属于类,不属于实例,当类第一次加载类的时候就会执行,所以它永远比实例化代码块优先执行,后面类实例化时不会执行,跟静态字段一样。它们的执行顺序跟定义的顺序一样,静态字段和静态代码块无优先执行,谁在定义在前面谁就最先执行,顶级父类的静态代码块最先执行,然后依次朝下走。java初始化块也可以理解为实例初始化块,它是属于实例,当实例化一次就会执行一次,它总是在构造方法前执行,它和实例化字段一样,谁先定义谁就最先执行。顶级父类的实例化代码块最先执行,然后依次朝下。package frank;public class App extends Parent{ pu 阅读全文

posted @ 2013-08-02 17:41 wp456 阅读(358) 评论(0) 推荐(0)

java类型转换2
摘要:子类是特殊的父类,所以子类转父类的时候总可以是隐士的。对于整型,小类型的总是隐士的转换成大类型,当大类型转小类型,有可能会发生精度丢失。对于引用类型,父类型转换成子类型需注意运行时类型一定要是所转换的类型(子类是特殊的父类)。instanceof运算符是判断变量是否是指定的引用类型,如果变量跟指定的类型不是他的子类又不跟他是一个类型的话就会出现编译时错误。 阅读全文

posted @ 2013-08-02 16:31 wp456 阅读(153) 评论(0) 推荐(0)

java多态
摘要:java多态,java引用类型分为编译时类型和运行时类型。父类型的变量对应子类型的引用,编译的时候类型是父类型,运行的时候类型就是子类型。所以在编译的时候只能访问到父类对象里面有的成员,不能访问到子类里面的成员,如果父类中的方法在子类中重写了,那么在运行的时候调用的就是子类中的方法,字段不存在多态,父类型调用的就是父类型的,子类型调用就是子类型的。package frank;public class App extends Parent{ public String asc = "3"; public static void main(String[] args) { Pa 阅读全文

posted @ 2013-08-02 15:59 wp456 阅读(212) 评论(0) 推荐(0)

导航