面向对象的基本特征:封装

Posted daidai66

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象的基本特征:封装相关的知识,希望对你有一定的参考价值。

封装的好处

1、调用者:方便使用/简化使用

2、设计者:安全,可控

如何实现封装,控制不同等级的封装

使用权限修饰符

修饰符 本类 本包 其他包的子类 其他包的非子类
private × × ×
缺省 × ×
protected ×
public

权限修饰符可以修饰什么?

所有的权限修饰符都可以修饰:成员变量、成员方法、构造器、成员内部类

可以修饰外部类的权限修饰符:缺省和public

属性私有化

1、在属性前面加private

2、根据需求提供get/set方法

  1 public class Student{
  2 	private String name;
  3 	private int age;
  4 	private boolean marry;
  5 
  6 	public void setName(String name){
  7 		this.name = name;
  8 	}
  9 	public String getName(){
 10 		return name;
 11 	}
 12     public void setAge(int age){
 13         this.age = age;
 14     }
 15     public int getAge(){
 16         return age;
 17     }
 18     public void setMarry(boolean marry){
 19         this.marry = marry;
 20     }
 21     public boolean isMarry(){//boolean类型的属性,它的标准的get方法,用is代替get
 22         return marry;
 23     }
 24 }

1、包的作用

(1)控制可见性范围

如果在这个包中的某个类或成员,它的权限修饰符缺省了,就表示这个类或成员仅限于本包使用

(2)避免类的重名

(3)按照不同的主题来分门别类管理类

因为包在编译后是对应文件夹

常见的包:

java.long:核心语言类库,例如:String,System,Math,Thread…

java.io:输入输出相关

java.util:各种工具

java.net:和网络编程相关

java.sql:和数据库相关

2、如何声明包

  1 package 包名;

位置必须在.java文件的首行,一个.java文件只能有一句

包名的命名规范:(1)所有单词都小写,单词之间使用.分割(2)习惯上用公司域名倒置+模块名

3、如何编译带包的源文件

  1 javac -d . 源文件名.java
  • -d:创建包目录结构
  • .:表示在当前目录

4、如何运行代表的类

  1 java 包.类名

5、如何使用其他包的类

(1)实用类的全名称

  1 java.util.Scanner input = new java.util.Scanner(System.in);

(2)使用import语句导包,在代码中使用简名称

  1 import 包名.类名;
  2 import 包名.*; //*只能省略最后一级的类名
  3 
  4 //静态导入
  5 import static 包名.类名.静态成员;
  6 import static 包名.类名.*;

当使用两个不同包,但是类名相同的两个类时,只能一个使用导包,一个使用全名称,不能两个都使用导包。

被使用的其他包的类或成员,它的权限修饰符必须是>缺省

以上是关于面向对象的基本特征:封装的主要内容,如果未能解决你的问题,请参考以下文章

面向对象的特征

C++之面向对象的三个基本特征

面向对象的三个基本特征 封装 继承 多态

面向对象基本特征

PHP-面向对象的三大基本特征和五大基本原则的概念

001面向对象的特征有哪些方面