Java 面向对象三大特征之一:封装
时间:2022-05-04
本文章向大家介绍Java 面向对象三大特征之一:封装,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
面向对象三大特征之一:封装
概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法类实现对隐藏信息的操作和访问
封装的好处: 隐藏类的实现细节 方便加入控制语句 方便修改实现 只能通过规定方法访问数据
封装的步骤: 1.修改属性 的可见性 >>>>>>设为private 2.创建公有的getter/setter方法 >>>>>>用于属性的读写 3 在getter/setter方法中加入属性控制语句 >>>>>>对属性值的合法性进行判断
封装的快捷键:Shift+Alt+S+R
废话不多说,上栗子:
public class Dog {
//属性
//昵称
private String name;
//健康值
private int health;
//亲密度
private int love;
//品种
private String strain="聪明的拉不拉多犬";
//获得值 只读方法
public String getName() {
return name;
}
//set 赋值 可写方法
public void setName(String name) {
this.name = name;
}
public int getHealth() {
return health;
}
public void setHealth(int health) {
if (health<0 || health>100) {
this.health=40;
System.out.println("健康值必须在0到100之间");
}
else
{
this.health = health;
}
}
public int getLove() {
return love;
}
public void setLove(int love) {
this.love = love;
}
public String getStrain() {
return strain;
}
public void setStrain(String strain) {
this.strain = strain;
}
/**
* 输出具体的狗类对象的信息
*/
public void print()
{
System.out.println("宠物自白:我的名字叫"+this.name+"n健康值为:"+health+"n和主人的亲密关系"+love+"我是一只"+this.strain);
}
}
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Dog dog=new Dog();
dog.setName("拉不拉多犬");
System.out.println(dog.getName());
dog.setHealth(90);
System.out.println(dog.getHealth());
}
}
- hadoop loadBalance源码分析
- writeup | 应该不是 XSS
- Hbase 源码分析之 Get 流程及rpc原理
- MOCTF WEB 题解
- HBase行锁与MVCC分析
- HBase行锁探索
- Spring Cloud构建微服务架构:分布式服务跟踪(抽样收集)【Dalston版】
- HBase client访问ZooKeeper获取root-region-server DeadLock问题(zookeeper.ClientCnxn Unable to get data of zn
- zookeeper学习系列:四、Paxos算法和zookeeper的关系
- 有了phonegap你还android吗?
- zookeeper学习系列:三、利用zookeeper做选举和锁
- Spring Cloud构建微服务架构:分布式服务跟踪(收集原理)【Dalston版】
- zookeeper学习系列:二、api实践
- Spring Cloud构建微服务架构:分布式服务跟踪(整合logstash)【Dalston版】
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 42图揭秘,「后端技术学些啥」
- R-ggTimeSeries | ggplot2: 热力日历图
- R-wordcloud: 词云图
- 直播APP源码是如何实现音视频同步的
- 动态规划算法练习(5)--medium
- phpstudy漏洞分析原因到修复
- 哈?命令注入外带数据的姿势还可以这么骚?
- 记一次曲折的RCE挖掘
- pytest文档49-命令行参数--tb的使用
- pytest文档50-命令行参数--durations统计用例运行时间
- pytest文档51-内置fixture之cache使用
- pytest文档53-命令行实时输出错误信息(pytest-instafail)
- pytest文档52-命令行参数--setup-show查看fixture的执行过程
- pytest文档54-Hooks函数terminal打印测试结果(pytest_report_teststatus)
- SAS-免费的描述性统计程序自动化创建