黑马—private关键字-封装
private最常见的应用:
1、把成员变量用private修饰
2、提供对应的getXxx()/setXxx()方法
3、一个标准的案例的使用
直接访问存在安全问题
package blackHorse;
/** 学生类* * 通过对象直接访问成员变量,会存在安全问题* 这个时候,我们就想能不能不让外界的对象直接访问成员变量呢?* 能。* 如何实现呢?* private关键字!*/
public class Student {String name;int age;public void show() {System.out.println("姓名是:" + name + ";年龄是:" + age);}
}
package blackHorse;
/** 学生测试类*/
public class studentTest {public static void main(String[] args) {Student garen = new Student();garen.show();garen.name = "盖伦";//garen.age = 28;garen.age = -28;garen.show();}
}
public void setAge(int a1) {age = a1;}garen.setAge(-28);
package blackHorse;
/** 学生类* * private:* 是一个修饰符* 可以修饰成员变量,也可以修饰成员方法* 被private修饰的成员只能在本类中被访问* * 针对private修饰的成员变量,我们会相应的提供getXxx()和setXxx()用于获取和设置成员变量的值,方法用public修饰* not visible**在setAge()方法里判断年龄的范围,看是否有误,再决定是否输出。*/
public class Student {String name;//int age;private int age;public void show() {System.out.println("姓名是:" + name + ";年龄是:" + age);}//setAge()方法public void setAge(int a1) {if(a1<0 || a1 >200) {System.out.println("你给的年龄有误");}else {age = a1;}}public int getAge() {return age;}
}
package blackHorse;
/** 学生测试类*/
public class studentTest {public static void main(String[] args) {Student garen = new Student();garen.show();garen.name = "盖伦";//garen.age = 28;//garen.age = -28;//not visiblegaren.setAge(-28);//garen.setAge(28);//garen.getAge();//获取初始值garen.show();}
}
成员变量私有的标准代码(封装)
学生类
1.成员变量私有化
2.分别写出他们的set,get方法()
3.set方法里做了判断学生测试类
1.创建对象
2.get方法得到默认值,set方法赋值
3.赋值后再用get方法得到现在的值
package blackHorse;
/** 学生类。*/
public class Student {private String name;private int age;public void setName(String n) {name = n;}public String getName() {return name;}public void setAge(int a) {age = a;}public int getAge() {return age;}
}
package blackHorse;
/** 学生测试类*/
public class studentTest {public static void main(String[] args) {//创建对象Student s = new Student();//因为没有赋值,所以得到默认值。System.out.println(s.getName()+"---"+s.getAge());s.setName("urnotbear");s.setAge(20);//第二次进行了赋值,所以get方法得到有值。System.out.println(s.getName()+"---"+s.getAge());}
}
封装原则:
1.将不需要对外提供的内容都隐藏起来
2.把属性隐藏,提供公共方法对其访问
—成员变量private,提供对应的getXxx()和setXxx()方法
黑马—private关键字-封装相关推荐
- 1.2 private 关键字 面向对象封装
public class Demo2 { public static void main(String[] args) { Person1 p = new Person1(); p. ...
- 面向对象(封装对象private关键字)
1.面向对象(封装的概述) A:封装概述 是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. B:封装好处 隐藏实现细节,提供公共的访问方式 提高了代码的复用性 提高安全性. C:封装原则 将不需 ...
- 5 封装性和private关键字
封装 这一节来看下面向对象三大特征之一的封装. 什么是封装? 封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. 封装的优点: 隐藏代码的实现细节,提高安全性. 举个例子,我们日常生活中的插座 ...
- 面向对象、封装、private关键字、set和get方法、this关键字、构造方法、API
文章目录 1. 类和对象 1.1 面向对象和面向过程编程思想 面向过程编程思想 面向对象编程思想 举例对比2种编程思想 1.2 类的概述 类的概述 类的组成 举例 小结 1.3 对象的概述 对象的概念 ...
- Java学习 第十五章 成员变量和局部变量的区别 / 三大特征之一 (封装性)/构造方法 /private关键字
第十五章 局部变量和成员变量: 1.定义位置不一样 局部变量:在方法内部定义 成员变量:在方法的外部,直接写在类当中 2.作用范围不一样 局部变量:只能在方法当中使用 成员变量:整个类都可以使用 3. ...
- 成员变量和局部变量的区别、方法的形参为类的情况及匿名对象、封装(private关键字)、this关键字、构造方法、static关键字
成员变量和局部变量 在介绍类的时候,已经说到了类的成员变量 成员变量是在类中而在方法之外 class ss{ int age; } 局部变量是在方法定义中或者方法声明中 class ss{ publi ...
- Java面向对象思想、类的定义、对象的使用、对象内存图、成员变量和局部变量的区别、封装、private关键字、this关键字、构造方法、JavaBean-day06
目录 第1节 面向对象思想 1.1 面向对象思想概述 概述 举例 特点 1.2 类和对象 什么是对象 类与对象的关系 1.3 类的定义 事物与类的对比 类的定义格式 1.4 对象的使用 对象的使用格式 ...
- 7 面向对象(成员变量和局部变量的区别,类作为形式参数的问题,匿名对象,封装,private关键字,this关键字,构造方法,类的初始化过程,static关键字)
1:成员变量和局部变量的区别(理解) (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义中或者方法声明上 (2)在内存中的位置不同 成员变量:在堆中 局部变量:在栈中 (3)生命周期不同 ...
- 封装-private关键字
目录 一.private关键字 二.为什么使用private 三.用private改进代码 一.private关键字 二.为什么使用private Student类: public class Stu ...
最新文章
- Rocksdb 的 MergeOperator 简单使用记录
- 【基础不牢地动山摇】一遍记住 Java 面试中常用的八种排序算法与代码实现!...
- 试编写一个汇编语言程序,要求从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数
- 调用函数,计算分段函数的值
- 理解Java字符串常量池与intern()方法
- Spring Stateless State Security第3部分:JWT +社会认证
- SQL Server游标
- vue 项目中 自定义过滤器 全局使用 filter
- android删除未知字符,如何删除Android Studio中所有配置的未使用字符串资源?
- 数据库基础介绍(1)几种常见的数据库
- cs231n学习笔记 CNN 目标检测 定位 分割
- java毕业设计投标文件在线制作系统mybatis+源码+调试部署+系统+数据库+lw
- php 图片印章_PHP实现中文圆形印章的特效
- 高斯过程回归GPR和多任务高斯过程MTGP原理
- 不重启刷新win7环境变量(注册表)
- 什么是线程安全性,如何保证线程安全*
- D16:Exchange Rates(汇率,翻译)
- win10打开蓝牙_用了N年也未必知!Win10竟藏有这么多实用功能
- 工作不顺心怎么办?——Leo网上答疑(57)
- (一)立创EDA的安装
热门文章
- 欧姆龙PLC项目程序NJ系列模切机程序 12轴EtherCAT总线伺服运动控制,包含回零、点动、定位
- keil调试工具(调试技术)
- 智慧物业管理系统的设计与实现
- CocosCreator之节点如何做圆周运动
- Android中破解某支付软件防Xposed的hook功能检测机制过程分析
- 极客大学产品经理训练营:业务流程与产品文档 第11课总结
- mipcms文章详情调用
- 7.搜索求解策略: 搜索的概念, 状态空间搜索, 盲目/启发式图搜索策略, 启发信息和估价函数, A搜索算法, A*搜索算法及特性分析
- 全球与中国IHE XDS.B(跨企业文档共享)市场现状及未来发展趋势
- SDL-软件安全设计初探