当前位置: 首页 > news >正文

Java——封装(面向对象)

一、封装

思想:隐藏实现细节,仅对外暴露公共的访问方式

二、private关键字

(一)介绍

1.是一个权限修饰符,可以修饰成员(成员变量和成员方法)

2.被private修饰的成员只能在本类中才能访问

(二)针对private修饰的成员变量,如果需要被其他类使用,操作如下

1.提供get变量名()” 方法,用于获取成员变量的值,方法用public修饰

2.提供“set变量名(变量类型 变量名)”方法,用于设置成员变量的值,方法用public修饰

(三)举例

//定义一个类
public class TestPhone {String name;
//    将age变量变为私有属性private int age;
//    使用set变量名()来对私有属性修改public void setAge(int a) {if (a >=0 && a<=120) {age=a;}else {System.out.println("您的年龄不符合。");}}
//    使用get变量名()来对私有属性获得public int getAge() {return age;}
//    写一个方法public void sprint() {System.out.println(name+"的年龄是"+age);}
}
public class Text1 {public static void main(String[] args) {TestPhone t = new TestPhone();t.name="张三";t.setAge(110);System.out.println(t.getAge());t.sprint();}
}
//结果
//110
//张三的年龄是110

三、this关键字

(一)介绍

1.this关键字代表所在类的对象引用(引用-地址

2.由于java遵循“就近原则”,所以才使用this关键字来确定成员变量

public class TestPhone {
//    将age变量变为私有属性private int age;
//    使用sert方法更改age变量的值
//    此时因为就近原则,
//所以在set方法中等于号左边和右边的“age”均代表局部变量age
//而并非是类中的成员变量age(所以成员变量age的值为初始值)!public void setAge(int age) {age=age;    }
//    使用get方法获得age变量的值public int getAge() {return age;}
}
public class Text1 {public static void main(String[] args) {TestPhone t = new TestPhone();t.setAge(10);System.out.println(t.getAge());}
}
//结果
//0(初始值)

3.作用:可以调用本类的成员(变量,方法),解决局部变量和成员变量的重名问题 

4.如何区别是否调用的是成员变量,就看有没有同名的局部变量,如果有——并且没在调用时添加“this”关键字,则调用的是局部变量没有——则调用的是成员变量

(二)举例

public class TestPhone {
//    将name和age成员变量变为私有属性private String name;private int age;
//  使用this关键字,将其中一个age变量确定为成员变量,更改成员变量的值public void setAge(int age) {if (age >=0 && age<=120) {this.age=age;}else {System.out.println("您的年龄不符合。");}}public void setName(String name) {this.name = name;}
//    使用get()方法获得成员变量的值public int getAge() {return age;}public String getName() {return name;}public void sprint() {System.out.println(name+"的年龄是"+age);}
}
public class Text1 {public static void main(String[] args) {TestPhone t = new TestPhone();t.setName("张三");t.setAge(10);System.out.println(t.getName());System.out.println(t.getAge());t.sprint();}
}
//结果
//张三
//10
//张三的年龄是10

相关文章:

  • 迅雷精简绿色融合版【高速下载版】12.1.9.2870【11.2.2.1716】【20250426】
  • 检查 NetCDF Fortran的版本
  • 【Java-Day 2】Java开发利器:IntelliJ IDEA入门教程(安装、配置、项目创建、调试)
  • 零基础 学习Linux shell编程语法
  • 机器学习 | 基于回归模型的交通需求预测案例分析及代码示例
  • 【工具】scMultiMap基于单细胞多模态数据实现增强子与靶基因的细胞类型特异性映射
  • 基于STM32、HAL库的TSC2046IPWR触摸屏控制器驱动程序设计
  • 【同局域网/内网环境 Windows 远程桌面连接】
  • 动手学深度学习11.10. Adam算法-笔记练习(PyTorch)
  • Pacman-Multi-Agent Search
  • 深度解析:具身AI机器人领域最全资源指南(含人形机器人,多足机器人,灵巧手等精选资源)
  • AiCube 试用 - ADC 水位监测系统
  • 如何培养团队的责任感与归属感
  • 多节点同步协同电磁频谱监测任务分配方法简要介绍
  • 【vue3】购物车实战:从状态管理到用户体验的全流程实现
  • 测量电机的电阻、电感、磁链常数和极对数办法
  • Go语言之路————指针、结构体、方法
  • Python 基础核心知识
  • (done) 吴恩达版提示词工程 6. 转换 (翻译,通用翻译,语气风格变换,文本格式转换,拼写检查和语法检查)
  • javaWeb开发---前后端开发全景图解(基础梳理 + 技术体系)
  • 淮安四韵·名城新章: 网络名人领略“运河之都”魅力
  • 为何未来的福利国家必须绿色且公平
  • 旧衣服旧纸箱不舍得扔?可能是因为“囤物障碍”
  • 哈马斯同意释放剩余所有以方被扣押人员,以换取停火五年
  • 委员呼吁提高政府机构电话号码准确性,辽宁阜新回应
  • “归雁经济”能带来什么?川大商学院调研团队深入乡村与返乡青年人才交流