java基础知识:私有成员变量
⼀:private 保护类中的变量
Person类
package类;
public class Person {
String name;
//    使⽤private修饰的变量,只能本类中访问,导包导⼊后,不能使⽤类似于python⾥⾯的 _age = 10
private int age;
public void call(){
System.out.println("我叫:"+name + ",年龄:"+age);
}
/
/    为了让外部能够访问到age这个属性,需要使⽤特定的⽅法,python⾥⾯也有
//    set是设置,通过暴露这个⽅法让外部来设置私有变量
public void setAge (int num){
age = num;
}
public void setName(String flag){
name = flag;
}
//    get是获取,通过暴露着这个⽅法让外部来获取私有变量
public String getName(String flag){
name = flag;
return name;
}
}
外部访问Person类
package类;
public class Demo_Person {
public static void main(String[] args) {
Person people = new Person();
//        age是private,外部不能导⼊
//        System.out.println(people.age);
//        类中设置专门的⽅法来改变age
people.setAge(20);
people.setName("王⼩⼆");
people.call();
//        类中有专门的⽅法来间接访问类属性
String name = Name("刘德华");
System.out.println(name);
}
}
private是访问控制修饰符,⽤来使⽤访问控制符来保护对类、变量、⽅法和构造⽅法的访问。不能直接访问,但是通过⽅法可以间接访问类中的变量
python⾥⾯是通过__age,两个下划线来定义私有变量的,外界也是⽆法访问
Person.py
class PersonDemo():
__age = 10
__name = "张学友"
Use_Person.py
from python知识点import Person
p = Person.PersonDemo()
print(p.__age)
print(p.__name)
# 结果
Traceback (most recent call last):
File "F:/pycharm测试功能⽂件夹/python知识点/Use_Person.py", line 4, in <module>
print(p.__age)
AttributeError: 'PersonDemo' object has no attribute '__age'
如果外界要访问和修改,必须通过类中的set__age和set__name/get__age和get__name Person.py
class PersonDemo():
__age = 10
__name = "张学友"
def get__age(self):
return self.__age
def get__name(self):
return self.__name
def set__age(self,num):
java配置用户变量
self.__age = num
def set__name(self,nick):
self.__name = nick
Use_Person.py
from python知识点import Person
p = Person.PersonDemo()
__age())
__name())
p.set__age(20)
p.set__name("刘德华")
__age())
__name())
# 结果
10
张学友
20
刘德华
# TODO