海牛部落 java 系列教程:(7)面向对象三大特性

资料 青牛 ⋅ 于 2017-09-15 13:28:10 ⋅ 最后回复由 BertDong 2018-07-12 10:27:05 ⋅ 1629 阅读

面向对象三大特性指的是:封装、继承、多态。这三大特性支撑了整个面向对象的理论体系,是面向对象的核心。

1、封装

1.1 理解封装
封装:将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。
1.1.1 封装的目的
对一个类或对象实现良好的封装,可以实现以下目的:
1、隐藏类的实现细节
2、让使用者只能通过实现预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限制对属性的不合理访问
3、可进行数据检查,从而有利于保证对象信息的完整性。
4、便于修改,提高代码的可维护性。
1.1.2 封装要考虑的问题
为了实现良好的封装,需要考虑两方面
1、将对象的属性和实现细节隐藏起来,不予许外部直接访问
2、把方法暴露出来,让 方法来控制对这些属性进行安全的访问和操作
1.2 使用访问控制符
要想实现良好的封装,需要通过使用java提供的访问控制符来实现
权限修饰符public、protected、private置于类的成员定义前,用来限定对象对该类对象成员的访问权限
default 就是没有加权限修饰符
对于class的权限修饰只可以用public和default
public类可以在任意地方被访问
default类只可以被同一个包内部的类访问

修饰类属性和方法

file

file

file

file

file

file

file

file

file

file

file

file

file

2、package、import、import static

2.1 package
Java中的一个package(包)就是一个类库单元,包内包含有一组类,它们在单一的名称空间之下被组织在了一起。这个名称空间就是包名。
package的作用是防止名字相同的类产生冲突。
在Java类文件的第一行非注释行,写
package packageName;

file

包名都由小写字母组成。
一般公司命名为“com.公司名.项目名.模块名....”

2.2 import
当我们在Java类里用到了别的类时,我们可以用import导入指定包层次下某个类或全部类。
import语句应该出现在package语句之后,类定义之前。
eclipse引包的快捷键:Ctrl + shift + o
如果引用的类有相同的名字,会有提示框提示你选择。
一个 Java源文件只能包含一个package语句,但可以包含多个 import语句。
使用import语句导入单个类的用法

file

file

file

2.4 Java的常用包
java.lang:这个包下包含Java语言的核心类,如String、Math、System、和Thread 等。
java.util:这个包下包含了Java的大量工具类/接口和集合框架类/接口。如Arrays和List等
java.net:这个包下包含了一些Java网络编程相关的类、接口。
java.io:这个包下包含了一些Java输入/输出编程相关的类/接口。
java.text:这个包下包含了一些Java格式化相关的类。
java.sql:这个包下包含了Java进行JDBC数据库编程的相关类/接口。

3、继承

3.1 理解继承

file

父类是对子类共性的抽象,父类和子类的关系,是由一般到特殊的关系。
父类包含的范围总比子类包含的范围要大,所以可以认为父类是大类,子类是小类
在设计类的继承关系时,应当把共性放在父类,特性放在子类。
每一个类只能有一个直接父类,即单继承。

3.2 继承的语法

回复帖子,然后刷新页面即可查看隐藏内容

版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海牛部落-青牛,http://hainiubl.com/topics/152
本帖由 情爱侣 于 9月前 取消置顶
回复数量: 42
暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter