2020.8.21

 

  1、定义一个Object类,有数据成员weight及相应的操作函数,由此派生出Box类,增加数据成员height和width及相应的操作函数,声明一个Box对象,观察构造函数的调用顺序。

复制代码
 1 //Object类:
 2 public class Object {
 3     protected float weight;
 4     Object(float w){
 5         weight=w;
 6         System.out.println("Object类构造函数");
 7     }
 8 }
 9 //Box类:
10 public class Box extends Object {
11     private float height,width;
12     Box(float w,float h,float wi){
13         super(w);
14         height=h;
15         width=wi;
16         System.out.println("Box类构造函数");
17     }
18 
19     public static void main(String[] args) {
20         Box x=new Box(1,2,3);
21     }
22 }
复制代码

  2、定义一个基类BaseClass,从它派生出类DerivedClass。BaseClass有成员函数fn1(),fn2(),DerivedClass也有成员函数fn1(),fn2()。在主函数中声明一个DerivedClass的对象,分别用DerivedClass的对象以及BaseClass的对象来调用fn1(),fn2(),观察运行结果。

复制代码
 1 //BaseClass类:
 2 public class BaseClass {
 3     public void fn1() {
 4         System.out.println("BaseClass类fn1函数");
 5     }
 6     public void fn2() {
 7         System.out.println("BaseClass类fn2函数");
 8     }
 9 }
10 //DerivedClass类:
11 public class DerivedClass {
12     public void fn1() {
13         System.out.println("DerivedClass类fn1函数");
14     }
15     public void fn2() {
16         System.out.println("DerivedClass类fn2函数");
17     }
18 
19     public static void main(String[] args) {
20         DerivedClass a=new DerivedClass();
21         BaseClass b=new BaseClass();
22         a.fn1();
23         a.fn2();
24         b.fn1();
25         b.fn2();
26     }
27 }
复制代码

  3、定义一个基类Base,有两个公有成员函数fn1(),fn2(),私有派生出Derived类,如何通过Derived类的对象调用基类的函数fn1()

//基类:
public class Base {
    public void fn1() {
        System.out.println("a");
    }
    public void fn2() {
        System.out.println("b");
    }
}
//子类:
public class Derived extends Base {
    public void fn1() {
        super.fn1();
    }
    public void fn2() {
        super.fn2();
    }
    public static void main(String[] args) {
        Derived m=new Derived();
        m.fn1();
        m.fn2();
    }
}

二、遇到的问题

  指针的知识不了解,百度搜索。

三、明日计划

  继续完成例题的验证。

原文地址:https://www.cnblogs.com/marr/p/13582871.html