📄 j02080404.java
字号:
import java.lang.*;
class j02080404
{
public static void main(String[] para)
{
C obj1 = new C();
System.out.println("obj1.Var1 = " + obj1.Var1);
System.out.println("obj1.Var2 = " + obj1.Var2);
System.out.println("obj1.Var3 = " + obj1.Var3);
System.out.println("========================");
C obj2 = new C(10000);
System.out.println("obj2.Var1 = " + obj2.Var1);
System.out.println("obj2.Var2 = " + obj2.Var2);
System.out.println("obj2.Var3 = " + obj2.Var3);
System.out.println("========================");
C obj3 = new C(555,12);
System.out.println("obj3.Var1 = " + obj3.Var1);
System.out.println("obj3.Var2 = " + obj3.Var2);
System.out.println("obj3.Var3 = " + obj3.Var3);
System.out.println("========================");
System.out.println("检验 obj1 对象:");
toCheckInstance(obj1);
System.out.println("检验 obj2 对象:");
toCheckInstance(obj2);
System.out.println("检验 obj3 对象:");
toCheckInstance(obj3);
}
public static void toCheckInstance(Object obj)
{
if(obj instanceof A)
System.out.println("实例内具有 A 类的对象实例");
else
System.out.println("实例内没有 A 类的对象实例");
if(obj instanceof B)
System.out.println("实例内具有 B 类的对象实例");
else
System.out.println("实例内没有 B 类的对象实例");
}
}
class A
{
int Var1;
public A(int var1)
{
//自动调用 super(),也就是 Object()
System.out.println("start in A(int var1) Var1 = " + Var1);
//可取 Var1 之值,证实在此之前 Var1 已自动初始化(为0)
Var1 = var1;
System.out.println("执行 public A(int var1)");
}
public A()
{
//自动调用 super(),也就是 Object()
System.out.println("start in A() Var1 = " + Var1);
//可取 Var1 之值,证实在此之前 Var1 已自动初始化(为0)
Var1 = 10;
System.out.println("执行 public A()");
}
}
class B extends A
{
int Var2;
public B()
{
//自动调用 super(),A 必须要有 A() 预设构造子
Var2 = 10;
System.out.println("执行 public B()");
}
public B(int var1)
{
super(var1); //若不指定调用,则会自动调用父类的 A()
Var2 = Var1 * 2; // 到此行 Var1 之值已初始化
System.out.println("执行 public B(int var1)");
}
}
class C extends B
{
int Var3;
public C()
{
//自动调用 super(),B 必须要有 B() 预设构造子
Var3 = 10;
System.out.println("执行 public C()");
}
public C(int var1)
{
super(var1); //若不指定调用,则会自动调用父类的 B()
Var3 = Var2 * 2; // 到此行 Var2 之值已初始化
System.out.println("执行 public C(int var1)");
}
public C(int var3,int multi)
{
//不指定调用,自动调用 super(),即 B 类的 B()
Var3 = var3*multi;
System.out.println("执行 public C(double var3,int multi)");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -