动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

Java多态的代码实现

05-12 10:06 651浏览
举报 T字号
  • 大字
  • 中字
  • 小字

Java多态是指为不同数据类型的实体提供统一的接口,Java多态性是指允许不同类的对象对同一消息作出响应,多态性包括参数化多态性和包含多态性,简而言之,java多态性是具有表现多种形态的能力的特征,多态就是多个对象调用同一个方法得到不同的结果。专业一些的概念就是同一个实现接口,使用不同的实例而执行不同的操作。

多态的几种代码实现:

1.类内部之间得多态:方法重载

public class SingleClass {
    //孩子1:
    public String child(){
        System.out.println("child1");
        return "child1";
    }
    //孩子2:与孩子1参数个数不同
    public String child(String a){
        System.out.println("child2");
        return "child2";
    }   
    //孩子3:与孩子4参数顺序不同
    public String child(int a,String s){
        System.out.println("child3");
        return "child3";
    }   
    //孩子4:与孩子3参数顺序不同
    public String child(String s,int a){
        System.out.println("child4");
        return "child4";
    }   
    public static void main(String[] args){
        //重载方法调用:略
    }
}

从上述代码我们可以看到,在类的内部可以有相同的方法名,但是有唯一的参数列表。当然返回类型和修饰符也可以不同。下面我们再看一下类之间的多态。

2.类之间的多态:方法重写

类之间的多态其实是有两种方式:继承和接口。我们对这两种方式一个一个说明。

(1)继承方式实现多态

对于继承方式我们使用一个例子来解释,比如说父亲可以对自己的房子有处理权,儿子继承父业同样也有处理权。

第一步:定义父类

public class Father {
    public void dealHouse(){
        System.out.println("父亲处置房产"); 
    }    
}

第二步:定义子类(大儿子和小儿子)

//大儿子
public class SonA extends Father {
    @Override
    public void dealHouse() {
        System.out.println("大儿子处置房产"); 
    }
}
//小儿子
public class SonB extends Father {
    @Override
    public void dealHouse() {
        System.out.println("小儿子处置房产"); 
    }
}

第三步:测试

public class Test {
    public static void main(String[] args) {
        Father father=new Father(); 
        Father sonA=new SonA();
        Father sonB=new SonB();     
        father.dealHouse();
        sonA.dealHouse();
        sonB.dealHouse();
    }
}
//父亲处置房产
//大儿子处置房产
//小儿子处置房产

(2)接口方式实现多态

接口方式实现继承方式其实跟上面一样,只不过把父类变成了接口而已,其他内容只有微笑的变化,这里就不演示了,在这里只给出父接口的形式。

public interface Father {
    public void dealHouse();
}

到了这基本上就对多态形式的代码实现进行了演示,案例也比较简单,但是这对我们理解多态的思想还不够,我们可以在动力节点在线的Java SE视频课程中观看学习专业老师的分析,加深自己的理解。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵498
程序员代码小兵498

153篇文章贡献528999字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

Java面试题及答案整理

提枪策马乘胜追击04-21 20:01

Spring常见面试题

代码小兵92504-17 16:07

Java零基础实战项目——五子棋

代码小兵98804-25 13:57

Java string类详解

杨晶珍05-11 14:54

6道经典算法面试题

杨晶珍05-12 16:39

发评论

举报

0/150

取消