1.1 面向对象高级课程安排( 四 )


/*测试类*/public class Demo {public static void main(String[] args) {//创建对象Zi z = new Zi();Zi z2 = new Zi(20);}}
演示完毕后 , 回到资料我们来总结一下:
这个时候 , 回到代码中我们把super给加上 , 继续讲解如果父类没有无参构造方法 , 该怎么办呢?
public class Fu {/*public Fu() {System.out.println("Fu中无参构造方法被调用");}*/public Fu() {}public Fu(int age) {System.out.println("Fu中带参构造方法被调用");}}
public class Zi extends Fu {public Zi() {//super();//super(20);System.out.println("Zi中无参构造方法被调用");}public Zi(int age) {//super();//super(20);System.out.println("Zi中带参构造方法被调用");}}
/*测试类*/public class Demo {public static void main(String[] args) {//创建对象Zi z = new Zi();Zi z2 = new Zi(20);}}
演示完毕后 , 回到资料我们来总结一下:
如果父类中没有无参构造方法 , 只有带参构造方法 , 该怎么办呢?
① 通过使用super关键字去显示的调用父类的带参构造方法
② 在父类中自己提供一个无参构造方法
推荐:自己给出无参构造方法
好了 , 关于继承中构造方法的访问特点我们就先讲到这里 。
讲解完毕后 , 大家赶快动手练习一下吧 。
1.4.4 成员方法访问特点
来 , 继续啊 , 下面我们来学习继承中成员方法的访问特点 。
而关于这个特点呢 , 我们先到IDEA中去演示 , 然后再回来总结 。
public class Fu {public void show() {System.out.println("Fu中show()方法被调用");}}
public class Zi extends Fu {public void method() {System.out.println("Zi中method()方法被调用");}public void show() {super.show();System.out.println("Zi中show()方法被调用");}}

1.1 面向对象高级课程安排

文章插图
/*测试类*/public class Demo {public static void main(String[] args) {//创建对象 , 调用方法Zi z = new Zi();z.method();z.show();//报错//z.test();}}
演示完毕后 , 回到资料我们来总结一下:
通过子类对象访问一个方法:
好了 , 关于继承中成员方法的访问特点我们就先讲到这里 。
讲解完毕后 , 大家赶快动手练习一下吧 。
1.5 方法重写
来 , 继续啊 , 下面我们来学习方法重写 。
那什么是方法重写呢?我们一起来说一下:
知道了什么是方法重写后 , 那方法重写有什么用呢?这里我们来说一下方法重写的应用场景:
下面呢 , 我们通过一个练习 , 来讲解一下方法重写的应用 , 这个练习是:手机类和新手机类 。
来 , 我们一起来写代码啊 。
/*手机类*/public class Phone {public void call(String name) {System.out.println("给" + name + "打电话");}}
/*新手机*/public class NewPhone extends Phone {/*public void call(String name) {System.out.println("开启视频功能");//System.out.println("给" + name + "打电话");super.call(name);}*/@Overridepublic void call(String name) {System.out.println("开启视频功能");//System.out.println("给" + name + "打电话");super.call(name);}}