• day5_package


    day5学习

    封装

    • 作用:提高程序的数据安全
    • 操作流程(定义):属性私有化,提供公共的getter/setter方法访问私有属性
      • getter/setter实体方法放到类最下面,可自动生成
      • 给set,get 限制来限制输入输出
      • 删去set,get取消可读可修改性,用构造方法实现访问
    • 数据安全体现:
      • 数据校验:数据错误
      • 数据访问:不能乱改

    初始化块

    • 把所有构造方法都包含的语句放入初始化块中

    • 在源代码中存在,编译后写到每一个构造方法中,初始化块消失

    • 编译代码维护和扩展

    • 先于构造方法执行

    构造方法

    • 写在属性后面方法前面(代码规范)

    • 当类的属性一创建就要有值时使用构造方法

    • 作用:用于完成属性的数据初始化操作(赋初始值)

    • 调用时间: 对象实例化时调用

    • 存在: 若用户不定义,系统自动生成一个无参的空的构造方法(用户写就没有系统的了)

    • 特定:方法名和类名相同.没有返回值类型

      public ClassName (类型 属性名){
      	this.属性名 = 属性名;	
      }//this 指当前类,使得能区分类的属性和参数属性
      
    • this 与 super

      • this 值类本身
      • super指父类
    • 通过方法重载可已定义多个构造方法

    • 方法重载: 同一个类中,方法名相同, 参数不同(个数不同|类型不同|顺序不同)没有参数名(属性名)不同,返回值类型和权限无关的方法

    tips:属性值的变化过程 :默认值->初始化块->构造方法值->setter方法

    • 概念:包的本质是一系列嵌套的文件夹
    • 命名规则:是公司域名的反写+项目名+功能名,全部小写
    • 作用:
      • 整理代码
      • 区分同名类
      • 进行权限控制
    • 常见的包:
      • java.util (java的工具类)
      • java.io (io操作)
      • java.net (网络开发)
      • java.lang(默认包) 包含了开发所需要常用的各种类,不需要导入,不同包下也可默认引用 如String,Match
    • 关键字:
      • package : 描述当前类所处的包的名称
      • import: 引入其他包中的类
    • 调用类时采用就近原则,所以注意取类名不要取常用类名

    权限修饰符

    • public 非子类可访问
    • protected 子类可访问 非子类不可访问
    • dafault(默认,其实就是什么都没写的时候) 包可访问,子类不可访问
    • private 只有类内可访问

    static

    • 属性: 类属性(静态属性)

    • 方法: 类方法

    • 与面向对象编程思想相违背,除非是 1.工具类 2.单例模式才用

    • 调用时机(加载顺序): static 修饰的东西在类加载的时候初始化类属性和类方法(类装载器中)非static加载在解释器中

      • 非static可用static ,static不能用非static

      • 初始化块也可为static属性赋初值

      • 用静态块为static属性赋初值

        static{
        }
        
      • 静态块只执行一次,初始化块new几次就执行几次

    单例模式

    • 单例类只能有一个实例

    • 单例类必须创建自己的唯一实例

    • 单例类必须给其他对象提供这一实例

    • 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。单例模式可以分为懒汉式和饿汉式等多种形式。

    • 一个私有的构造方法(核心)

    • 饿汉式

      public class Singleton{
          private Sinleton(){} //单例模式只有一个私有的构造方法,保证别人不能实例化对象
          private static Singleton sigle = new sinlenton();//只有自己能实例化(私有的静态属性)  
          pubilic static singleton getInstance(){
              return single;
          }//一个公有方法返回对象
      }//不管用不用都创建类,初始化时就已经自己实例化
      
    • 懒汉式

      //在第一次调用的时候实例化自己
      private class Singleton{
          private Sinleton(){}
          private static Singleton single = null;
          public static Sinleton getInstance(){
              if(single == null){
                  single = new Singleton();
              }
              return single;
          }
      }
      
  • 相关阅读:
    AJAX
    JQUERY基础
    PHP 数据库抽象层pdo
    会话控制:session与cookie
    php 如何造一个简短原始的数据库类用来增加工作效率
    php 数据访问(以mysql数据库为例)
    面向对象设计原则
    php 设计模式 例子
    PHP中静态与抽象的概念
    键盘的按钮键名
  • 原文地址:https://www.cnblogs.com/zzz1zzz/p/14264712.html
Copyright © 2020-2023  润新知