父子类实例化过程
来源:互联网 发布:ps10.0软件下载 编辑:程序博客网 时间:2024/05/29 15:33
一.java类实例化的顺序:
父类:static{}(无名称方法体)
子类:static{}(无名称方法体)
父类:{}(无名方法体)
父类 构造函数
子类 {}(无名方法体)
子类 构造行数
二.静态方法/变量使用的场合
1,当多个对象共享某个变量或者方法时
测试代码,输出的结果一目了然
class A{
protected static String name = "jessie";
static{
System.out.println("static none name method of super(A) class");
}
{
System.out.println("none name method of super(A)");
}
public A(){
System.out.println("constructor of super(A)");
}
protected static void getName()
{
System.out.println(name);
}
protected static void setName(String pname)
{
name = pname;
System.out.println(name);
}
}
class B extends A{
static{
System.out.println("static none name method of sub(B) class");
}
{
System.out.println("none name method of sub(B) class");
}
public B(){
System.out.println("constructor sub(B)");
}
}
class C extends B{
public C(){
System.out.println("constructor of sub class(C)");
}
}
public class StyleTest3{
public static void main(String[] ars){
A ab = new B();
System.out.println("**************************");
ab = new B();
System.out.println("**************************");
B BTest = new B();
System.out.println("**************************");
C CTest = new C();
System.out.println("**************************");
CTest.getName();
CTest.setName("shirley");
BTest.getName();
CTest.getName();
}
}
protected static String name = "jessie";
static{
System.out.println("static none name method of super(A) class");
}
{
System.out.println("none name method of super(A)");
}
public A(){
System.out.println("constructor of super(A)");
}
protected static void getName()
{
System.out.println(name);
}
protected static void setName(String pname)
{
name = pname;
System.out.println(name);
}
}
class B extends A{
static{
System.out.println("static none name method of sub(B) class");
}
{
System.out.println("none name method of sub(B) class");
}
public B(){
System.out.println("constructor sub(B)");
}
}
class C extends B{
public C(){
System.out.println("constructor of sub class(C)");
}
}
public class StyleTest3{
public static void main(String[] ars){
A ab = new B();
System.out.println("**************************");
ab = new B();
System.out.println("**************************");
B BTest = new B();
System.out.println("**************************");
C CTest = new C();
System.out.println("**************************");
CTest.getName();
CTest.setName("shirley");
BTest.getName();
CTest.getName();
}
}
- 父子类实例化过程
- c# 类实例化过程
- 类的实例化过程
- Java类实例化过程
- SQL Server:触发器调用 - 存储过程递归删除父子类
- Instantiate 实例产生父子关系
- FIFO父子进程通信实例
- 父子实例的内存控制
- 内存控制之父子实例
- Spring 父子容器使用实例
- java类的实例化过程
- 类的实例化过程小结
- Java类加载与实例化过程
- Java类的实例化过程
- JAVA 实例化过程
- 子类实例化过程
- 对象实例化过程
- StreamingContext实例化过程
- Linux逻辑盘卷管理LVM详解
- 高考作文
- 文件分割与合并例子
- 今年春节票价不上浮,还会被忽悠吗?
- Packet Over SDH技术
- 父子类实例化过程
- 关于环境变量·路径·编译器等一些心得
- 唉。。。。
- 背包问题程序
- Delegate比较全面的例子
- 在VC6下编译和安装STLport
- 新浪
- 阶乘累加和 汇编
- 基于MPEG-4和RTP的网络视频监控系统研究