Java面试遇到的问题总结

有关多态的概念和实例

首先,面向对象的三大特性有:封装、继承、多态。

多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。

多态的作用:消除类型之间的耦合关系。

实现多态的技术称为:动态绑定。

多态有两种表现形式:重载和覆盖

重载:发生在同一类中。与父类、子类的继承没有任何关系。标识一个函数除了函数名之外,还有函数的参数(即个数和类型)。一个类中可以有两个或者三个或者更多函数名相同的方法,但是他们的参数一定是不通的。他们之间毫无关系,只是函数名字相同,可能他们功能相似,但是是不同的函数,增加可读性。

覆盖:发生在子类中,也就是说必须有继承的情况下才会发生覆盖现象。也就是说,当子类集成一个父类时,同时继承了父类的所有方法,,但是子类有时候会感觉某个方法不适合自己,功能需要发生改变,就会把该方法在子类中重新写一遍,就发生了覆盖现象。

多态的实例:有一个动物类,里面有吃这个方法。猫和狗同时继承了动物这个类,猫重写吃这个方法,实现猫吃鱼这个具体功能,狗也重写吃这个方法,实现狗吃骨头这个功能。这就是多态的一种体现。

Java中子类继承父类的关系
package com.stu;

public class FatherClass {
	public FatherClass() {
		System.out.println("fatherClass create");
	}

}
package com.stu;

public class ChildClass extends FatherClass {
	public ChildClass() {
		System.out.println("ChildClass create");
	}

	public static void main(String[] args) {
		FatherClass f = new FatherClass();
		ChildClass c = new ChildClass();
	}
}
//运行结果
fatherClass create
fatherClass create
ChildClass create

1 父类静态代码块

2 子类静态代码块

3 父类代码块

4 父类狗造

5 子类代码块

6 子类构造

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值