一、今日学习内容
1、定义一个基类Base,有两个公有成员函数fn1(),fn2(),私有派生出Derived类,如何通过Derived类的对象调用基类的函数fn1()
1 //基类: 2 public class Base { 3 public void fn1() { 4 System.out.println("a"); 5 } 6 public void fn2() { 7 System.out.println("b"); 8 } 9 } 10 //子类: 11 public class Derived extends Base { 12 public void fn1() { 13 super.fn1(); 14 } 15 public void fn2() { 16 super.fn2(); 17 } 18 public static void main(String[] args) { 19 Derived m=new Derived(); 20 m.fn1(); 21 m.fn2(); 22 } 23 }
2、定义一个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 }
3、定义一个基类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 }
二、遇到的问题
对Java中没有指针的知识不知道
三、明日计划
继续完成例题