之前大一的时候学过一段Java,后面因为没有持续的学习再加上学校老师教的也就那个样子,在黑板手写代码实在有点受不了,后来就没有很深入去学习Java了。现在准备再重Java方法这章学起。
java面向对象的三大特征
封装,继承,多态; 其中讲到封装,方法属于封装,关键字private也属于封装;今天就讲讲private的用法,private直接翻译过来为私有的,但在Java中它的含义并不是私有的。而是本类中可用的,表面上是说只有本类中可以使用(更改)该变量或者方法。是一个权限修饰符,将成员变量私有化,对外提供对应的set,get方法对其进行访问。提高对数据访问的安全性;下面介绍其基本用法:
package com.jinglong.zou;
public class Person {
String name;
// int age;
private int age;
public void show(){
System.out.println("我叫:"+name+",年龄:"+age);
}
//这个成员方法专门设置age的数据
public void setAge(int num) {
if(num<100&&num>=0){
age=num;
}else {
System.out.println("数据不合理");
}
}
//这个成员方法专门获取age的数据
public int getAge() {
return age;
}
}
package com.jinglong.zou;
/*问题描述:定义Person年龄时,无法阻止不合理的的数值被设置进来
*
* 解决方案:用private关键字需要保护成员变量进行修饰
*
* 一旦使用private进行修斯,那么在本类还可以随意访问,但是超出本类范围之外就不能在直接访问了
*
* 间接访问privite成员变量,就是定义一对Getter和Setter
* 对于Getter来说 不能有参数,返回值类型和成员变量一一对应
* 对于Setter来说,不能有返回值,参数类型和成员变量对应*/
public class Demo01Person {
public static void main(String[] args) {
Person person = new Person();
// person.show();//我叫:null年龄0
person.name="2022,新年快乐";
//person.age=-20;//直接访问private内容,错误写法!
//person.setAge(-20);//数据不合理
person.setAge(30);
person.show();
}
}
一般用在用户输入数据提高安全性,虽然前端也可以做这些工作,尽量前端后端,最大程度去提高数据的安全性,防止异常的数据出现;今天打给分享到这里!谢谢大家!