📄 j02080403.java
字号:
import java.lang.*;
import java.lang.reflect.Method;
class j02080403
{
public static void main(String[] para)
{
System.out.println("====== A 类之 obj1 对象 ====== ");
A obj1 = new A();
obj1.fun1();
obj1.showAA();
obj1.showAA(1111);
System.out.println("obj1.aa = " + obj1.aa);
System.out.println("====== B1 类之 obj2 对象 ====== ");
B1 obj2 = new B1();
obj2.fun1();
obj2.showAA();
obj2.showAA(3333);
System.out.println("obj2.aa = " + obj2.aa);
System.out.println("====== B2 类之 obj3 对象 ====== ");
B2 obj3 = new B2();
obj3.fun1();
obj3.showAA();
obj3.showAA(6666);
System.out.println("obj3.aa = " + obj3.aa);
//================ 父类对象引用子类实例 ====================
//======== 可引用「多型」,以及「满足」与对象的转型 ===========
System.out.println("=== A 类对象 obj4 引用 B1 之对象实例 === ");
A obj4 = new B1();
obj4.fun1();
obj4.showAA();
obj4.showAA(7777);
System.out.println("obj4.aa = " + obj4.aa);
System.out.println("=== A 类对象 obj5 引用 B2 之对象实例 === ");
A obj5 = new B2();
obj5.fun1();
obj5.showAA();
obj5.showAA(8888); //会使用到 B2 的 bb 变量
System.out.println("obj5.aa = " + obj5.aa);
// System.out.println("obj5.bb = " + obj5.bb); //错误,A 类的 obj5 没有 bb 成员变量
// obj5.fun2("if overload ==>"); //错误,A 类之 fun2() 的参数型式没有 (String) 这种
}
}
class A
{
public int aa = 1000;
public void fun1()
{
System.out.println("A 类的 fun1() 方法");
}
public void fun2()
{
System.out.println("A 类的 fun2() 方法");
}
public void showAA()
{ // 存取 A 类内定义的 aa
System.out.println("call A class showAA() : aa = " + aa);
}
public void showAA(int aaValue)
{
aa = aaValue;
System.out.println("call A class showAA(int) : aa = " + aa);
}
}
class B1 extends A
{
public String aa = "001-aa";
public void showAA()
{ // 存取 B1 类内定义的 aa
System.out.println("call B1 class showAA() : aa = " + aa);
}
public void fun1()
{ //返回类型一定要一样才能 override,否则会有 error
System.out.println("B1 类的 fun1() 方法");
}
}
class B2 extends A
{
public String aa = "002-aa";
public int bb = 300;
public final void fun1()
{ //修饰字不同一样也是 override
System.out.println("B2 类的 fun1() 方法");
bb = bb + 10;
System.out.println("bb = " + bb);
}
public void fun2(String str)
{ //不算 fun2() 的 overload,也不是 override
System.out.println(str + "B2 类的 fun2() 方法");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -