第一节 什么是JAVA中的封装

面向对象的三大特性:封装、继承、多态。
1.概念:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法,来实现对隐藏信息的操作和访问。
2.好处:
a只能通过规定的方法访问数据
b隐藏类的实例细节,方便修改和实现
3.封装的实现步骤
修改属性的可见性,改为设为private;创建getter/setter方法,用于属性的读写,创建一个特定的方法,一般是gettersetter方法,可以在gettersetter方法中加入属性控制语句,对属性值的合法性进行判断,举例来说:
public float getScreen(){
return screen;
}
public void setScreen(float screen){
this.screen=screen;
}
第二节 使用包管理JAVA中的类
封装的类名可能冲突,用包可以解决
1.包的作用,管理Java文件夹,管理同名文件冲突
2.定义包,package关键字
3.系统中的包
java.(功能).(类)
java.lang.类 包含java语言基础的类
java.util.类 包含java与语言中的各种工具类
java.io.类 包含输入输出相关功能类
4.包的使用
import 使用关键字可以在某个文件中使用其他文件中的类,全部都是小写
import com.imooc.music.Myclass;
import com.*是包下所有的类
第三节 JAVA中的访问修饰符
修饰我们属性和方法的访问范围
private 本类
默认 本类 同包
protected 本类 同包 子类
public 本类 同包 子类 其他
第四节 JAVA中的this关键字
1.this关键字代表当前对象,this.属性代表当前对象的属性,this.方法代表当前对象的方法
2.封装对象属性的时候经常会用到this关键字,例如this.a=a;
第五节 什么是JAVA中的内部类
1.什么是内部类:
内部类是定义在另一个类里面,与之对应,包含内部类的类被称为外部类。
2.为什么要将一个类定义在另一个类里,清清爽爽独立不好吗?
内部类的主要作用是:
内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中其他类访问该类。
内部类中的方法可以直接访问外部类的所有数据,包括私有数据
内部类所实现的功能使用外部类同样可以实现,是有时使用内部类会更加方便。
3.内部类有几种:
成员内部类;静态内部类;方法内部类和匿名内部类
内部类其实也是外部类的一个成员,只不过这个成员类型是一个类,调用时要先实现外部类,然后才能找到该类下的内部类实现。例:
public class HelloWorld{
public class Inner{
方法show();
}
main函数{
HelloWorld h=new HelloWorld();
Inner i=h.new Inner();
i show;
}
}
定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去new一个内部类对象,也就是:内部类 对象名=外部类对象.new 内部类();
第六节 JAVA中的成员内部类
内部类中最常见的也就是成员内部类,即普通内部类。
成员内部类的使用方法:
1.内部类定义在外部类的内部,相当于外部类的一个成员变量的位置,内部类可以使用任意访问修饰符,如public private protected等
2.内部类中定义的方法,可以访问外部类中的数据,而不受访问修饰符的影响
3.定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去new一个内部类对象,也就是:内部类 对象名=外部类对象.new 内部类();
4.编译含内部类的程序时,会出现两个class文件,其中第二个是外部类的.class文件,第一个是内部类.class文件,成员内部类的class文件总是这样,外部类名$内部类名.class 这是内部类.class名字
注意:
a.外部类不能直接使用内部类的成员和方法,可以先创建内部类对象,然后通过它们的对象来访问其成员变量和方法;
b.如内部类和外部类具有相同的成员变量和方法,内部类默认访问自己的成员变量或方法。如果要访问外部类的成员变量,可以使用this关键字,外部类.this.属性。如:
第七节 JAVA中的静态内部类
静态内部类是static修饰的内部类,这种内部类的特点是:
1、静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问
2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
运行结果,访问外部类中的b:1
访问内部类中的b:2
第八节 JAVA中的方法内部类
方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。
注意:由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。
希望本文所述可以对需要的朋友有些帮助
# 详解JAVA的封装
# JAVA封装类
# Java基础教程之封装与接口
# java 中的封装介绍及使用方法
# java中封装的实现方法详解
# Java数据封装树形结构代码实例
# java语言中封装类代码示例
# 一文让你彻底弄懂Java封装(超详细)
# 类中
# 本类
# 可以使用
# 子类
# 修饰符
# 可以直接
# 只在
# 自己的
# 都是
# 是一个
# 这是
# 第一个
# 不需要
# 设为
# 三大
# 举例来说
# 可以通过
# 不受
# 第二个
# 几种
相关文章:
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
实例解析angularjs的filter过滤器
高端企业智能建站程序:SEO优化与响应式模板定制开发
如何通过智能用户系统一键生成高效建站方案?
如何用低价快速搭建高质量网站?
建站主机与服务器功能差异如何区分?
C#怎么使用委托和事件 C# delegate与event编程方法
如何在阿里云香港服务器快速搭建网站?
如何在云主机上快速搭建多站点网站?
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
网站制作企业,网站的banner和导航栏是指什么?
如何通过多用户协作模板快速搭建高效企业网站?
高防服务器:AI智能防御DDoS攻击与数据安全保障
如何通过cPanel快速搭建网站?
外贸公司网站制作,外贸网站建设一般有哪些步骤?
如何撰写建站申请书?关键要点有哪些?
建站之星好吗?新手能否轻松上手建站?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
建站之星安装路径如何正确选择及配置?
建站之星如何配置系统实现高效建站?
如何快速选择适合个人网站的云服务器配置?
如何在Golang中引入测试模块_Golang测试包导入与使用实践
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
建站之星如何通过成品分离优化网站效率?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
魔方云NAT建站如何实现端口转发?
专业商城网站制作公司有哪些,pi商城官网是哪个?
长沙做网站要多少钱,长沙国安网络怎么样?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
如何通过VPS建站无需域名直接访问?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
建站168自助建站系统:快速模板定制与SEO优化指南
音响网站制作视频教程,隆霸音响官方网站?
,交易猫的商品怎么发布到网站上去?
婚礼视频制作网站,学习*后期制作的网站有哪些?
如何通过山东自助建站平台快速注册域名?
如何在阿里云虚拟主机上快速搭建个人网站?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
C#如何序列化对象为XML XmlSerializer用法
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
如何快速搭建安全的FTP站点?
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
建站主机类型有哪些?如何正确选型
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
如何有效防御Web建站篡改攻击?
*请认真填写需求信息,我们会在24小时内与您取得联系。