Java 面向对象_5

本文介绍了Java中的多态概念及其应用,包括向上转型的特点,并详细解析了懒汉式和恶汉式的单例模式实现。此外,还概述了设计模式的三大类及部分具体模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                                          JAVA面向对象_5

一.多态

    1.概念
        1.字面上,事物的多种形态
        2.本质:一个类的对象在编译的时候并不明确使用哪个对象,只有在运行的时候才确定,父类引用数据类型指向子类的对象
    2.作用:
        提升对象的作用范围
    3.条件
        3.1向上转型
        3.2必须有继承或者实现关系
    4.应用领域:
        4.1作为参数传入
        4.2作为返回值

二.向上转型

    父类的引用数据类型变量指向子类的对象
    变量的获取以及使用:向上转型后:
        注意的点:

             1.1 拥有相同的名字的普通成员变量(包括静态变量)时,访问的是父类的

             1.2 拥有相同名字的普通成员方法(非静态方法时),访问的是子类的

            1.3 拥有相同名字的静态成员方法,访问的是父类的

            1.4 父类的引用类型变量访问不到子类特殊的成员


            如果我要访问子类的特有成员,该怎么办?
            类型转型
 
            强转:转换的两者必须存在继承或实现关系,否则不能进行。

三.懒汉式和恶汉式

    1.懒汉代码:

 

        class Single{
    private int age;
    public int getAge(){
        return age;
    }
    public void setAge(int age){
        this.age=age;
    }
    private Single(){
        super();
    }
    private static Single s =null;

    public static Single getInstances(){
            if(s=null){
            s=new Single();
            }
            return s;
    }
}


    2.恶汉代码:

   

  class Single{
      private int age;
      public int getAge(){
        return age;
      }
      public void setAge(int age){
        this.age=age;
     }
     private Single(){
        super();
     }
    private static Single s=new Single();

    public static Single getInstances(){
        return s;
    }
}  

四.JAVA中设计模式  

      1. 总体来说设计模式分为三大类:

       创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

       结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

      行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

       2.在处理某些情况下一种约定俗成,并且行之有效的方法
 
       3. 主要是为了解决在计算机内存中某个类只存在一个对象这种情况
         装饰者设计模式
         工厂设计模式
         代理设计模式



   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值