day14 面向对象 内部类 设计方法

1类之间的关系

        1.1继承

                类与类之间单继承 extends

                接口与接口之间多继承 

        1.2 实现

                类实现接口 implements

        1.3依赖

                一个类的局部变量是另一个类的引用

                

 main方法或者m1方法死了 下面的对象就会立即死亡

依赖关系是临时性的这个方法执行完关系就消亡了不存在了

        1.4关联

        

 一个类的成员变量或者静态变量是另一个类的引用或者是类对象的引用

 强依赖并且长时间

        1.5 聚合

        整体跟局部都有独立的生命周期

        方法执行完了 尽管方法里面的对象消亡了 但是外部依然有引用来进行接收

        那么person就不会回收 拥有独立的生命周期

        1.6 组合

        

         test 跟person生命周期是绑定的

        test对象销毁的时候person也会被视为垃圾回收

2 内部类

        2.1概述

        内部类就是在外部类里面嵌套一个类 内部类只为外部类提供服务

        外面的称为外部类 内部的称为内部类

        完整名称 外部类类名&内部类名

        2.2 成员内部类

            成员内部类 等同于成员变量 没有static修饰
            内部类 可以使用权限修饰符
            内部类可以访问外部类的私有化属性

        成员内部类中不能有静态声明

        成员内部类可以直接访问外部类的所有数据
        静态变量可以访问 外部类的成员变量访问需要对象使用因为是成员内部类 等同于成员变量
        调用里面的方法说明已经有了外部类对象跟内部类对象所以可以访问外部类所有的成员属性

         使用方法

        

 2.3 静态内部类

        静态内部类 可以看做静态变量
        静态内部类 可以声明任何数据(静态/成员 变量或者方法)

        //静态内部类无法直接访问外部类的成员属性因为调用静态变量不需要对象 因此无法访问外部类的成员属性 如果要调用需要在方法里面创建外部类的对象才可以

        

       使用方法

        

        2.4 局部内部类

          方法中的类就是局部内部类        

        成员方法中的局部内部类


        成员方法中的内部类 不能有静态属性
        并且可以直接访问外部类的成员属性
        局部内部类命名 外部类类名$1内部类类名
        如果内部类类名重复 则为外部类类名$2内部类类名
        局部内部类不能使用权限修饰符 也不能使用static
        相当于局部变量

        如果访问外部方法的局部变量则该变量不能修改就是不能二次赋值
                1.8之前 需要加final修饰局部变量 之后不需要但是不能修改

                类在方法中 相当于局部变量 因此该类只能在这个方法里面使用

        

        静态方法中的局部内部类

                静态方法中的局部内部类也不能有静态声明

                不能直接访问外部类的成员属性 要是访问需要创建外部类的对象

        

        

        

        使用

        

 2.5 匿名内部类

         匿名内部类  当一个方法的参数需要传入一个类对象的时候
 *都可以使用匿名内部类 一般情况下 是需要让你传入接口的实现类对象
 命名 外部类类名$1,外部类类名$2,...

        创建匿名内部类传入,此时该类不能复用
        // 匿名内部类,就等于创建了一个Login的子类,并创建这个子类的对象传入
        //应用场景 这个接口的方法只执行一次

·        
 

3 设计模式

        

软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性

一般代表了最佳实践

单例模式 : 让某个类只创建一个对象

 * 1 构造方法私有化,因为创建对象,使用构造方法,所以我们想要限制对象的创建,就要限制构造方法的使用 

 * 2 创建一个用于保存对象的静态变量

 * 3 对外提供一个用于获取对象的方法(一定是静态方法)

不能是成员变量保存 因为需要对象调用才能使用成员变量

不能使用成员方法也类似

3.1饿汉模式

 3.2 懒汉模式

        

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值