什么是私有属性?
私有属性就是通过private修饰的属性,只有在本类当中可以访问;
把属性设置为私有属性的好处?
确保数据的安全性和合法性;
为类中私有属性设置值的方法?
- 通过构造函数
public class FristClass {
private String name;
private int age;
// 定义构造器
//构造器:java通过new关键字调用关键字
//构造器的作用:常用来初始化成员变量;
public FristClass(String name, int age) {
this.age = age;
this.name = name;
}
@Override
public String toString() {
return ("姓名:" + name + " " + "年龄" + age);
}
// 创建方法
public void message() {
System.out.println("个人信息为:" + toString());
}
}
package cn.xlx.Demo01;
public class Person {
public static void main(String[] args) {
// 通过构造方法为类的私有变量进行赋值
FristClass f = new FristClass("张三",19);
f.message();
}
}
2. 通过set() 和 get() 方法
package cn.xlx.Demo02;
//需求:初始化成员变量的方法
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
if(name.equals("张三"))
this.name = name;
else
System.out.println("输入的姓名有误,请重新输入");
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
package cn.xlx.Demo02;
public class XM {
public static void main(String[] args) {
Person p = new Person();
p.setAge(18);
p.setName("");
System.out.println(p.toString());
}
}
通过set()和get()方法对私有属性操作的好处
- 通过set()方法对私有属性进行赋值,可以在set方法中添加判断,用来检验数据是否合法;
- 通过构造函数对私有属性进行赋值,好处是比较方便;
public void setName(String name) {
if(name.equals("张三"))
this.name = name;
else
System.out.println("输入的姓名有误,请重新输入");
}