Java——封装

=======封装的概念========定义类,定义其属性、方法的过程称为封装类

       将东西包在一起,然后以新的完整形式呈现出来

信息隐藏,隐藏对象的实现细节,不然外部直接访问到

将数据和方法包装进类种,加上具体实现的隐藏(访问修饰符),共同被称为封装,其结果是一个同时带有特征和行为的数据类型

访问修饰符

Private      :只有该类可以访问

Public       :该类和非该类都可以访问

Protected   :该类以及其子类的成员可以访问,同一个包中的类也可访问

默认 同一个包中的类可以访问

位置

Private

默认

Protected

Public

同一个类

同一个包内的类

不同包内的类

不同包并且不是子类

====属性封装的实现======

       修改属性的可见性来限制对属性的访问

       为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于对这些属性的访问接口

       在setter和getter方法中,根据需要加入对属性操作的限制

=====方法封装的目的======

隐藏方式实现的细节(方法体),向外部提供公开接口(方法头),以供安全调用简化调用,方便维修维护

根据需要,可以私有化方法,以供内部使用----帮助方法—helper

========UML类图=========

Unified Modeling Language (UML)又称统一建模语言或标准建模语言

类的命名尽量应用领域中的术语

应明确、无歧义、以利用相互交流和理解

类的属性、操作中的可见性使用+、#、-分别表示public,protected、private

=========构造方法=======Java保证每个类都有构造方法

类的构造的概念和作用

           构造方法负责对象初始化工作,为对象的属性赋合适的初始值

           创建对象时,其类的构造方法确保在用户操作对象之前,系统保证初始化的进行

构造方法的语法规则

           构造方法名与类名一致

           没有返回类型

           方式实现主要为字段赋初值 *构造方法可以有多个,调用哪个取决new的时候参          数个数

构造方法的调用

           构造方法的调用

           构造方法的调用很特别:new操作符(实例化对象的时候,自动被调用)

=========this关键字的特点==============

  1. 在类的方法中,使用this关键字代表的是调用此方法的对象的引用
  2. this可以看作是一个变量,它的值是当前对象的引用
  3. 使用this可以处理方法中的成员变量和形参同名的问题
  4. 当在方法内需要用到调用到该方法的对象时,就可以用this
  5. 在类的构造方法中可以调用this([参数列表])来调用该类的指定构造方法

=====static关键字的特点====

  1. 用来修饰类的成员-修饰成员变量的称为类变量(静态变量)
  2. 修饰成员方法称之为类方法(静态方法)
  3. 当类被加载的时候就会被加载,优先于对象的存在
  4. 用来修饰语句块-称之为静态代码块,先于构造方法之前,只会执行一次,用来对静态成员做初始化
  5. 调用的时候可以直接通过类名。成员来进行访问

****static关键字的注意事项:

       静态方法中只能访问外部的静态成员

       静态方法中不能出现this关键字

==============方法重载===同一类中,同名不同参的方法称为重载方法(仅有返回值不同的方法不能称为重载)====================================

       多数程序设计语言要求为每个方法()提供一个独一无二的方法名,不存在方法重载的概念,在Java中,规定方法签名是解析方法的规制而不是方法名,为方法重载开创了条件。

       方法重载使得在一个类中,方法名相同而参数列表不同的方法可同时存在,代表相似的行为或功能

======包==========推荐采用公司在互联网上的域名的倒置作为包的唯一前缀

打包的意义

  1. 标准Java库是有一系列包组成,包括Java.lang、Java,util、Java.net等等
  2. 标准Java包就是层次型包结构,就如同硬盘上嵌套的子目录意义,我们就可以使用嵌套层次结构来组织包
  3. Java的包是为了更好地规划代码,防止命名冲突和混乱。所以Java出现了打包机
  4. 但把类组织起来放进一个包内之时,也就给包中的成员赋予了相互访问的权限,拥有了该包内的程序代码
  5. 包访问权限把类聚集在一个包中这一做法提供了意义和理由

========如何使用其他包中的公开类==========

  1. 在每个类签名加上完整包名,例如:

Java.util.Date today=new java.until.Date();

  1. 更简洁更通用的方式:使用import语句来导包(eclipse  ctrl+shift+o)

import java.util.Date;

…………

Date today=new Date();

  1. 可以import特定类,也可以导入整个包,通过在源代码顶部(在打包语句后)使用import来实现import Java.util.*;.util.*;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值