封装

一:代码块
普通代码块:方法里的{}
       构造代码块:类里的{}——————————————每次运行构造代码块会将其加入构造方法的代码块前。
       静态代码块:使用static{}里的代码块,程序载入优先执行———对类进行某些初始化操作,在类的初始化执行,于创建方法前。
        (数据库连接等其他需要准备好的代码块放入static块中)
      同步代码块: 在多线程会使用,用来共享空间加锁操作。
 执行顺序:静态代码块——构造代码块(创建对象的时候才会用到)——普通代码块
                                           PS:this调用方法的时候,构造代码块加入到被调用的构造方法里。

二:package:
  作用:解决类的重名问题;方便管理类。
  使用:类的第一条非注释性语句。
             域名倒着写:package com.maoshibing
完全限定名:包名+类名
 JDK中常见的包:
                  java.lang:不需要手动,自动加载(包含java语言的核心)
                  java.util:工具包                             (使用日期等相关函数的工具)
                  java.net:网络包                            (执行与网络相关操作的)
                  java.io:输入输出流包                      (包含各种输入输出的)


三:import(引用非lang包的其java类的时候,如果不使用import,每次使用必须要将类的完全加上才可以使用,繁琐)
 作用:通过import可以导入其他包下面的类从而可以在本类中通过类名调用
 使用:
          import 包名.类名
          import java.util.Date;
          import java.util.*;        ---------------导入包下所有类,会降低编译和运行速度
      PS:如果导入两个同名的类,只能用包名加类名显示调用相关类
            java.util.Date date=new  java.util Date()                 即创建一个对象使用
静态导包:(导入类的静态属性,jdk5后的)
    需要某个类多次使用,又不想写他的包名
                System.out.println(Math.sqrt(2));
                System.out.println(sqrt(2));
                使用:import static java.util.Date;

四:封装(解决属性随意访问,不合理赋值)
高聚合:类的内部数据操作细节自己完成,不允许外部干扰
低耦合:暴露少量的方法供外部使用

理解:两个类中,一个对象原型,一个main方法,main中调用属性方法随意化
概念:将类的某些隐藏信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类的方法来实现对隐藏信息的操作
                 set/get
好处:  (提高安全性,扩展性,维护性)
              隐藏类的内部细节
              只能通过提供方法访问,其他方法不可以访问
              可以在提供方法中添加复杂的逻辑判断语句
              方便修改实现(修改提供方法即可)
总而言之,将类的属性设置为私有属性,提供公共的外部方法进行调用,可以实现丰富的细节操作

广义封装:可以将特定的功能代码块封装成一个方法,供不同程序调用
步骤:修改属性可见性:——————设置为private    
          创建公共的setter/getter方法——用于属性读写
          在公共方法添加属性控制语句——对属性的合法性判断
  


五:访问控制符,实现封装
成员变量成员方法访问
    public 项目所有类访问(项目可见性)
    protected被类,被包,被子类访问(同一个或者不同包的子类都可以)
    default    被类,被包
    private    本类(私有权限)
类的访问
   只有public,default

  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值