一、封装
1.通过pricate关键字,实现封装
2.可以封装成员变量或者成员方法
3.被封装后的资源,只能在奔雷中可见。如果别的类想用,需要提供公共的访问方式
//这个类测试封装
//自动生成set():右键-source-setters and getters-select all-ok
public class Test3_Private {
public static void main(String[] args) {
//2,创建对象测试
//new Student().coding();//匿名对象。缺点:使用这个对象只执行一个任务 优点:节省内存
Student s = new Student();
// s.coding();//因为被封装了,除了自己类中,别的类里都不能用
s.game();
s.getName();
//8,1.调用公共的getName()获取值
String name=s.getName();
System.out.println(name);
s.getAge();
int age=s.getAge();
System.out.println(age);
s.getScore();
double score=s.getScore();
System.out.println(score);
// s.name=“jack”;//设置值失败,英文name被private了
// System.out.println(s.name);//设置值失败,因为name被private了
// System.out.println(s.age);
// System.out.println(s.score);
}
}
//创建学生类
class Student{
//提供属性和方法
//5,使用private修饰成员变量,虽然可以提高安全性,但是,外界还想改,还想获取怎么办?
private String name;
//6,如果外界想访问私有的成员变量,来访问公共的全局访问点
//7,1.外界可以访问公共的setXxx()设置值
public void setName(String n) {
name=n;//帮name属性设置值
}
public String getName() {
return name;
}
private int age;
public void setAge(int i) {
age=i;
}
public int getAge() {
return age;
}
private double score;
public void setScore(double b) {
score=b;
}
public double getScore() {
return score;
}
//通过private关键字实现封装,就只能在本类中使用。如果还想使用封装资源,只能提供间接的访问方法
private void coding() {
System.out.println("coding...");
}
public void game() {
coding();
System.out.println("game...");
}
}