那些有趣的那些有趣的java—封装封装
关与作者更多博客请访问云里云外开源社区关与作者更多博客请访问云里云外开源社区
1.封装
1.1 封装简介
1.2 访问级别修饰符
2.java中的包
2.1 包的概念
2.2 导包
3.this关键字
4.static关键字
5.代码块
一、封装一、封装
基本概念基本概念
封装思想封装思想:隐藏对象的属性和方法细节且且对设置或读取类中的属性进行限制,防止他人随意操作。
封装概念封装概念:在设计一个类时,对类的属性和方法进行私有化限制。也就是用private、protected、public等关键字修饰。用户想
要访问私有属性,需要通过public的setter和getter方法或者其他方法来操作。
生活现象生活现象:大家都使用过网上购物,在某电商网站购买商品时需要填写购买种类和数量,我们只能填写正确的数量,如果你输
入-1,或者你输入的值大于店家的库存,那显然是不可以的。而且我们也不可以操作商品的单价。
这里就是对购买商品的属性的封装,在购买数量上,对它的访问进行了某些限制,要求数量大于0且小于库存。而对于商品单
价,压根就没有给出访问的公共方法,不然大家都可以修改单价就乱套了。
访问级别关键字访问级别关键字
修饰词修饰词 本类本类 同包中的类同包中的类 子类(继承类)子类(继承类) 其他类其他类
private √
default(默认) √ √
protected √ √ √
public √ √ √ √
强调:对于java中的类(不是内部类)来说,其访问权限只有public和无(包访问权限)两种,没有protected和private。
java中的包中的包
正确理解封装的概念就要先理解java中包的概念。
概念:概念:
java中使用包来组织程序,因为开发一个项目由N多人来完成,有可能出现类名相同的情况。这样上传到服务器就无法成功或
者上传成功也会将原来服务器上同名的文件覆盖掉。包可以有效的解决类名冲突及更好的管理类。
包的声明:包的声明:通过通过package关键字创建,语句格式:关键字创建,语句格式:package com.Login.demo 包名通常是包名通常是网络的倒置域名网络的倒置域名,且声明包的语句
必须是程序的第一句非注释性代码(前面可以有注释,但不能有其他语句),有且仅有一条。
package exercise;
public class Demo1 {
public static void main(String[] args) {
System.out.println("Hello World!!!");
}
}
在idea上写这么一段代码,我们项目的输出目录上就会出现Demo1.java的文件,如果继续用idea的话,它会帮助我们省去编
译运行的操作,直接在控制台上输出。但对于想使用手动编译的同学。
在命令行先进入文件所在目录(到包的内部),javac Demo1.java 编译生成字节码文件,这样目录中就会出现Demo1.class
, 再用java Demo1运行,然后你就发现报错了