10.public关键字和private关键字
public 修饰符,公共的谁都可以访问。
private修饰符,私有的,只有自己可以访问
// 属性
public String name; // 同一个工程中所有的类型都能访问(调用)
protected int hight; // protected 受保护的//同一个类、同包、子类都可以访问,其它包不可以。
int tz; // 什么都不写,就是默认的
private int age; // 私有的//只有同一个类中使用。
11.封装
我们日常使用的电脑主机,把cpu、内存、主板等等都封装到机箱里面去。
假如没有机箱的话的出现什么问题,主机、主板全部都散落在一处,然后开机没有开机按钮,
那么需要我们直接操作接跳线才能把电脑开启。这样子的话假如操作不慎的话,会让机器损坏危险,
那么假如用机箱封装起来的话,那么就不需要这样子做了。体现了封装的—安全特性。
你拿电脑去加内存,可以直接给电脑给维修的人,等他加好内存了之后。
你拿到的还是那个机箱,里面发生了怎样子的变化你并不知道。封装的第二个好处-将变化隔离。
在机箱里面提供一个开机按钮,而不需要你直接使用跳线开机的话,体现了封装的—便于使用的特性。
只要机箱提供了一个开机的功能,然后无论这个机箱拿到哪里去,都可以使用这个开机的功能.体现了封装的—提供重复性的特性。
12.封装的好处
1:隐藏了类的具体实现
2:操作简单
3:提高对象数据的安全性
代码:
Class Test6
public class Test6 {
// 把所有的属性私有化,把属性给封装起来
private String name;
private int hight;
private int tz;
private int age;
private int sex;
private String fs;
// 2、给所有的属性设置一个公开的get()、set()方法,提供给外部访问
// 快速生成get()、set方法,快捷键:alt + s,选择getter,setter
// get()代表获取,set()代表设置。
// 有一个功能,sayhello
public void sayhello() {
System.out.println("hello");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getHight() {
return hight;
}
public void setHight(int hight) {
this.hight = hight;
}
public int getTz() {
return tz;
}
public void setTz(int tz) {
this.tz = tz;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
public String getFs() {
return fs;
}
public void setFs(String fs) {
this.fs = fs;
}
}
Class Test7
public class Test7 {
public static void main(String[] args) {
Test6 test6 = new Test6();
// 因为属性都变成私有了,现在只有公开的方法。
test6.setName("cang");
System.out.println(test6.getName());
}
}