天天看点

Java - 封装Java - 封装

Java - 封装

说一个无关的东西!

1.面向对象与面向过程的区别

面向对象:将程序划分为各个模块,及那个各个模块抽象为对象,运用对象将程序完成。建立对象是为了描述在程序中的行为。
面向过程:将模块的各个步骤写为函数,用函数将程序一步一步进行实现。
           

比如:搬家

面向对象:将搬家划分为两个步骤:打包,搬。将这两个步骤抽象为对象,控制对象完成搬家的操作。

面向过程:将要搬的东西准备好,将其进行打包,联系搬家公司,搬家公司来车,给车上搬。对象面向过程来说,注重搬的时候的步骤,而不是结果。

面向对象三大特性:封装

面向对象程序语言中,最典型的语言也就是Java语言,在Java语言中封装由两部分组成。分别是:

(1)对相似的事物提取关键特征将其抽象为类时
(2)对类中的属性和方法添加的访问控制权限
           

(1)将对象抽象为类

用人来做例子:

人都有的特征:名字,年龄,性别

人都有的行为:学习

对人进行抽象,将特征抽象为属性,将行为抽象为方法。

将类用代码进行实现:

class {
	String name;
	int age;
	String sex;
	void study(){
	}
}
           

(2)对类中的属性和方法添加访问控制权限

public class {
	private String name;
	private int age;
	private String sex;
	public void study(){
	}
}
           

上述,对属性添加 public 访问控制权限,以及对方法添加 private 便是Java中的另外一部分封装。

以上两个部分构成了Java语言的封装特性。

访问控制权限

public ,private,default,proected

Java中声明了以上四种访问控制权限,在此只介绍前三种:public,private,default

对于最后一种,在以后的博客中我会进行介绍。

public 公有的,任何类在任意位置都可以访问用public修饰的属性和方法。

private 私有的,与public相对,只能在本类中调用用private修饰的属性和方法。

default 默认的,只能在同包下进行访问,而且想要声明默认的属性和方法,不需要写default,

比如:想要声明默认的属性名字,可以这样写:String name;

(1)public访问控制权限

Java - 封装Java - 封装

上述中类Person用 public 声明,通过 import 可以使任意类在任意位置进行调用。

(2)默认访问控制权限

Java - 封装Java - 封装

类Person没有用public修饰,为默认访问控制权限。

Java - 封装Java - 封装

主类报错,提示类Person没有用public修饰。

Java - 封装Java - 封装

但将类Person与主类放在同包下并没有报错。

可见默认的访问控制权限为,同包可以访问。不同包时要用public修饰。

(3)private访问控制权限

Java - 封装Java - 封装

上述将Person中的age 属性声明为private,在主类中不能进行调用。

可见,private访问控制权限时只能在本类中进行调用。