Java基础第十天总结——面向对象(上)

目录:

一、面向对象特征之一:封装与隐藏

二、类的成员之三:构造器(或构造方法)

三、JavaBean

四、拓展知识:UML类图

五、关键字:this的使用

六、关键字:package、import的使用

/*--------------------黄金分割线-------------------------*/

一、面向对象特征之一:封装与隐藏

高内聚:类的内部数据操作细节自己完成,不允许外部干涉;

低耦合:仅对外暴露少量的方法用于使用;

 

隐藏对象内部的复杂性,只对外公开简单的接口。便于外接调用。通俗的说:把该隐藏的隐藏,该暴露的暴露,这就是封装性的涉及思想。

 

信息的封装和隐藏:

Java中通过将数据声明为私有private,再提供公共的public方法:getXx()和setXxx()实现对该属性的操作,以实现下述目的:

1.隐藏一个类不需要对外提供的实现细节

2.通过实现定制好的方法来访问数据,方便的加入控制逻辑,限制对属性的不合理操作

3.便于修改,增强代码的可维护性

 

四种访问权限修饰符:

 

 

 

 

二、类的成员之三:构造器(或构造方法)

构造器的特征:

具有与类相同的名称

不声明返回值类型(与声明为void不同)

不能被static、final、synchronized、abstract、native修饰,不能有return语句返回值

 

构造器的作用:

创建对象;给对象进行初始化

如:Order o = new Order(); Person p = new Person("Peter",15);

 

语法格式:

 

 

根据参数不同,构造器可以分为如下两类:

隐式无参构造器(系统默认提供)

显式定义一个或多个构造器(无参、有参)

注意:

Java语言中,每个类都至少有一个构造器

默认构造器的修饰符与所属类的修饰符一致

一旦显式定义构造器,则系统不再提供默认构造器

一个类可以创建多个重载的构造器

父类的构造器不可被子类继承

 

构造器重载:

构造器一般用来创建对象的同时初始化对象。

构造器重载是的对象的创建更加灵活,方便创建各种不同的对象。

构造器重载,参数列表必须不同。

 

总结:

属性赋值过程先后顺序

1.默认初始化

2.显示初始化

3.构造器中初始化

4.通过“对象.属性”或“对象.方法”的方式赋值

 

赋值先后顺序:1-2-3-4

 

三、JavaBean——拓展知识

JavaBean是一种Java语言写成的可重用组件。

 

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

1.类是公共的

2.有一个无参的公共的构造器

3.有属性,且对应的get、set方法

 
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以
用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP
页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用
户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关
心任何改变。

 

四、拓展知识:UML类图

 

 

五、关键字:this的使用

它在方法内部使用,即这个方法所属的对象的引用;

它在构造器内部使用,表示该构造器正在初始化的对象

 

this可以调用类的属性、方法和构造器

什么时候使用this关键字呢?

当在方法内需要用到调用该方法的对象的时,就用this。

具体的:我们可以用this来区分属性和局部变量。

如:this.name = name;

 

当形参与变量名同名的时候,需要用this

使用this访问属性和方法,如果在本类中未找到,会从父类中查找

 

注意:

可以在类的构造器中使用“this(形参列表)”的方式,调用本类中重载的其他构造器!

明确:构造器中不能通过“this(形参列表)”的方式调用自身构造器

如果一个类中声明了n个构造器,则最多有n-1个构造器中使用了“this(形参列表)”

“this(形参列表)”必须声明在类的构造器首行!

在类的一构造器中,最多只能声明一个“this(形参列表)”

 

六、关键字:package、import的使用

package语句作为Java源文件第一条语句,指明该文件中定义的类所在的包,格式为:

package 顶层包名.子包名;

包对应于文件系统的目录,package语句中,用“.”来指明包(目录)的层次;

包通常用小写单词标识,通常使用所在公司域名的倒置:com.atguigu.xxx

 

包的作用:

包帮助管理大型软件系统:将功能相近的类划分到同一个包中。比如:MVC的设计模式

包可以包含类和子类,划分项目层次,便于管理

解决类命名冲突的问题

控制访问权限

 

MVC设计模式

 

 

 

 

JDK中主要的包介绍:

 

 

关键字——import

为使用定义在不同包中的Java类,需要import语句来引入指定包层次下所需要的类或全部类(.*)。import语句告诉编译器到哪里去寻找类。

 

语法格式:

import 包名.类名;

 

注意:

1.在源文件中使用import显式的导入指定包下的类或接口

2.声明在包的声明和类的声明之间

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

4.举例:可以使用java.util.*的方式,一次性导入util下所有的包或接口

5.如果导入的类或接口是Java.lang包下的,或者是当前包下的,则可以省略此import语句

6.如果在代码中使用不同包下的同名类。那么就需要使用类的全类名的方式指明调用的是哪个类

7.如果已经导入java.a包下的类。那么如果需要使用a包的子包下的类的话,仍然需要导入。

8.import static组合的使用:调用指定类或接口下的静态的属性或方法

 

 

 

posted @ 2019-11-05 21:01  java_取名南  阅读(134)  评论(0编辑  收藏  举报