java代码补全import java.util.Scanner; //A类声明与定义 class A{ private int a; public static void f(A obja){ obja.fun1(); obja.fun2(); } } //B类声明与定义 public class B extends A{ private int b; public static void main(String[] args) { int a,b; Scanner sc = new Scanner(System.in); a=sc.nextInt(); b=sc.nextInt(); A oa=new A(a); A.f(oa); System.out.println("----------\n"); B ob=new B(a*2,b); A.f(ob); ob.finalize(); oa.finalize(); } }
时间: 2023-05-28 17:01:14 浏览: 108
完整代码如下:
import java.util.Scanner;
class A{
private int a;
public A(int a){
this.a = a;
}
public void fun1(){
System.out.println("A.fun1()被调用"+a);
}
public void fun2(){
System.out.println("A.fun2()被调用"+a);
}
public static void f(A obja){
obja.fun1();
obja.fun2();
}
}
public class B extends A{
private int b;
public B(int a, int b){
super(a);
this.b = b;
}
public static void main(String[] args) {
int a,b;
Scanner sc = new Scanner(System.in);
a=sc.nextInt();
b=sc.nextInt();
A oa=new A(a);
A.f(oa);
System.out.println("----------\n");
B ob=new B(a*2,b);
A.f(ob);
try {
ob.finalize();
oa.finalize();
} catch (Throwable throwable) {
throwable.printStackTrace();
}
}
}
注意:B类继承了A类,并在构造函数中调用了父类的构造函数。B类的main方法中可以创建A类和B类的对象,并调用A类中的静态方法f。需要注意的是,在调用B类对象的finalize方法和A类对象的finalize方法时,需要使用try...catch语句保护,因为finalize方法可能抛出异常。
阅读全文