静态变量和静态函数
静态变量
- static声明变量。
- 静态变量被所有类实例对象所共享。
静态函数
- 静态成员函数中可以声明它自身的变量。
- 静态函数的声明和静态变量的声明几乎没差别。
一、静态变量声明
public class Person {
String name;
static String address;
}
public class Text {
public static void main(String[] args) {
Person p1 = new Person();
p1.name = "杜一";
p1.address = "重庆";
Person p2 = new Person();
p2.name = "杜二";
System.out.println("p2.name=" + p2.address);
}
}
结果
二、静态函数
public class Person {
String name;
static String address;
static void setAddress(String address) {
Person.address = address;
}
}
public class Text {
public static void main(String[] args) {
Person p1 = new Person();
p1.name = "杜一";
p1.setAddress("重庆");
Person p2 = new Person();
p2.name = "杜二";
System.out.println("p2.name=" + p2.address);
}
}
结果
三、 封装
封装
- 将不能暴露的的细节隐藏起来。
- 把类中的信息进行隐藏,不能在类的外部程序直接访问,只能通过类中的方法对这些信息进行操作和访问。
目的:提高程序的安全性。
public class Person {
String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void result()
{
System.out.print(name+"今年"+age+"岁了!");
}
}
public class Text {
public static void main(String[] args) {
Person p1 = new Person();
p1.getAge();
p1.setAge(18);
p1.getName();
p1.setName("杜杜杜");
p1.result();
}
}
注意
访问修饰符
- private 类型的成员变量只能在定义它的类的内部被访问。
- default 类型的成员可以在定义它的类的内部访问,也可以被这个包的其它类访问。
- protected 类型的成员可以在定义它的类的内部被访问,也可以被这个包的其它类访问,还可以被包外的子类访问。
- public 类型的成员可以在定义它的内部被访问,也可以被包内、包外的所有其他类访问。
开放程度 private < default < protected < public
总结
- 了解了静态方法和静态变量
- 认识了类的封装