5.7Java

import语句,声明在包的声明和类的声明之间。

如果需要导入多个类或接口,那么就并列显式多个import语句即可

如果使用a.*导入结构,表示可以导入a包下的所有的结构。举例:可以使用 java.util.*的方式,一次性导入util 包下所有的类或接口。

如果导入的类或接口是java.lang包下的,或者是当前包下的,则可以省略此import 语句。
 
如果已经导入java.a包下的类,那么如果需要使用a包的子包下的类的话,仍然需要 导入
 
如果在代码中使用不同包下的同名的类,那么就需要使用类的全类名的方式指明调用 的是哪个类。
 
(了解)import static组合的使用:调用指定类或接口下的静态的属性或方法




面向对象特征之一:封装性

1. 为什么需要封装性?
理论上:
  -`高内聚`:类的内部数据操作细节自己完成,不允许外部干涉;
  -`低耦合`:仅暴露少量的方法给外部使用,尽量方便外部调用。

通俗的说:把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设计思想。


2. 如何实现数据封装?

2.1 权限修饰符
    Java规定了4种权限修饰,分别是:private、缺省、protected、public

2.2 作用
    我们可以使用4种权限修饰来修饰类及类的内部成员。当这些成员被调用时,体现可见性的大小。

2.3 实际案例:
在题目中,我们给Animal的对象的legs属性赋值。在实际的常识中,我们知道legs不能赋值为负数的。但是如果
直接调用属性legs,是不能加入判断逻辑的。那怎么办呢?
> 将legs属性私有化(private),禁止在Animal类的外部直接调用此属性
> 提供给legs属性赋值的setLegs()方法,在此方法中加入legs赋值的判断逻辑if(legs >= 0 && legs % 2 ==0)
  将此方法暴露出去,使得在Animal类的外部调用此方法,对legs属性赋值。
> 提供给legs属性获取的getLegs()方法,此方法对外暴露。使得在Animal类的外部还可以调用此属性的值。


2.4 4种权限具体使用


> 类:只能使用public、缺省修饰
> 类的内部成员:可以使用4种权限修饰进行修饰。

2.5 开发中4种权限使用频率的情况:
   比较高:public、private
   比较低:缺省、protected

3. 封装性的体现
> 场景1:私有化(private)类的属性,提供公共(public)的get和set方法,对此属性进行获取或修改
> 场景2:将类中不需要对外暴露的方法,设置为private.
> 场景3:单例模式中构造器private的了,避免在类的外部创建实例。(放到static关键字后讲)


类的成员之三:构造器(constructor),构造方法

1. 构造器的理解

constructor :n. 建设者、建造者
construct:v. 建设、建造、创造
construction: n. 建设、建造   CCB

2. 构造器的作用
作用1:搭配new关键字,创建类的对象
作用2:在创建对象的同时,可以给对象的相关属性赋值



3. 构造器的使用说明
> 构造器声明的格式:权限修饰符 类名(形参列表){}
> 创建类以后,在没有显示提供任何构造器的情况下,系统会默认提供一个空参的构造器,且构造器的权限
  与类声明的权限相同。
> 一旦类中显示声明了构造器,则系统不再提供默认的空参的构造器。
> 一个类中可以声明多个构造器,彼此之间构成重载。

一、类中属性(当前仅考虑实例变量)赋值过程:

1. 在类的属性中,可以有哪些位置给属性赋值?
① 默认初始化;
② 显式初始化;(在类中直接给变量赋值int i = 1;)
③ 构造器中初始化;
**********************************
④ 通过"对象.方法"的方式赋值;
⑤ 通过"对象.属性"的方式赋值;

2. 这些位置执行的先后顺序是怎样?
① - ② - ③ - ④/⑤


3. 以上操作在对象创建过程中可以执行的次数如何?
> 只能执行一次:①、②、③
> 可以多次执行:④、⑤

二、JavaBean的理解

所谓JavaBean,是指符合如下标准的Java类:

- 类是公共的
- 有一个无参的公共的构造器
- 有属性,且有对应的get、set方法

三、读懂UML类图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值