转自:http://blog.csdn.net/ld422586546/article/details/9707997 Java中父类强制转换成子类的原则:父类型的引用指向的是哪个子类的实例,就能转换成哪个子类的引用. 例: public class Test { public static void main(String[] args) { Person person = new Boy(); Boy boy = (Boy) person; boy.eat(); } } class P
静态: 在编译时所分配的内存会一直存在(不会被回收),直到程序退出内存才会释放这个空间,在实例化之前这个方法就已经存在于内存,跟类的对象没什么关系.子类中如果定义了相同名称的静态方法,并不会重写,而应该是在内存中又分配了一块给子类的静态方法,没有重写这一说,只是单纯的名字重复了. 父类代码 public class Fu { public static void show() { System.out.println("父类的静态方法"); } public void method()
我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3558663.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验. [默认格式] public class MyClass implements Serializable{ ...} 序列化: ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream(outputPath));
在C#中序列化是比较容易的,如果不用第三方的类库,那么C#提供的两个对象也够我们使用,一般的操作是定义一个不含有方法的类,这个类里面定义了要序列化的对象的属性,因为我C#用的比较多,这里直接给出泛型,第一个是我写的,第二个是Copy的: public string ScriptSerialize<T>(T t) { JavaScriptSerializer js = new JavaScriptSerializer(); return js.Serialize(t); } public T S
[转][原文] 1.如果父类构造器调用了被子类重写的方法,且通过子类构造函数创建子类对象,调用了这个父类构造器(无论显示还是隐式),就会导致父类在构造时实际上调用的是子类覆盖的方法(你需要了解java继承中的初始化机制). 例子: [java] view plain copy public abstract class Father { public Father() { display(); } public void display() { System.out.println("Fath
简单实体Json序列化(输出JSON的属性可变) 一.先看效果 可以看出 , 我们在序列化一个对像时, 只给出了 我们想要 输出的两个字段名, 实际实体有5个属性, 经过可变属性序列化后的JSON 结果,也是我们想要的. 二.正式上程序 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threadi
JAVA CODE: import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.json.domain.Person; public class JsonService { public JsonService() { } public Person getPerson(){ Person person = new Person(100