「java私有成员变量」java私有静态成员变量
今天给各位分享java私有成员变量的知识,其中也会对java私有静态成员变量进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
javaclone会拷贝父类的私有成员变量吗
javaclone会拷贝父类的私有成员变量的,对于对象变量,使用clone仅能实现浅拷贝仅复制对象的在栈中的reference所以可以拷贝父亲的私有变量。
java中如何调用私有变量或方法
private关键字
(1)私有的意义,可以修饰成员变量和成员方法
(2)特点:
被private修饰的后的成员只能在本类中被访问
(3)private的应用:
以后再写一个类的时候:
把所有的成员变量给private了
提供对应的getXxx()/setXxx()方法
/*
封装和private的应用:
A:把成员变量用private修饰
B:提高对应的getXxx()和setXxx()方法
*/
//定义学生类
class Student {
//姓名
private String name;
//年龄
private int age;
//姓名获取值
public String getName() {
return name;
}
//姓名设置值
public void setName(String n) {
name = n;
}
//年龄获取值
public int getAge() {
return age;
}
//年龄赋值
public void setAge(int a) {
age = a;
}
}
//测试类
class StudentTest {
public static void main(String[] args) {
//创建学生对象
Student s = new Student();
//使用成员变量
//错误:被私有修饰了,外界不能直接访问了
//System.out.println(s.name+"---"+s.age);
System.out.println(s.getName()+"---"+s.getAge());
//给成员变量赋值
//s.name = "林青霞";
//s.age = 27;
//通过方法给赋值
s.setName("林青霞");
s.setAge(27);
System.out.println(s.getName()+"---"+s.getAge());
}
}
java中私有成员的调用
私有成员只能在本类中调用,在本类以外一律都看不到.如果要在其他类中获得私有成员变量,那么可以在本类中写一个public的get方法,其他类就可以通过调用这个get方法获得私有成员变量.
class PrivateTest(){
private String str = "私有成员变量";
//如果加上这个方法
public String getStr(){
return str;
}
public static void main(String[] args){
System.out.println(str);//这里可以调用到str变量
}
}
class OtherClass(){
PrivateTest pt = new PrivateTest();
public static void main(String[] args){
String tryToGet = pt.str;//这句编译会报错,str不可见
String getStr = pt.getStr();//这样 就可以获取到str的值
}
}
java私有化成员变量的实际意义
我举一个小小的栗子吧.
/**
* 这是一个'英雄'类, 包含3个属性(私有成员), 分别是: 等级level, 攻击力attack, 生命值hp
*
* 在我设计的游戏中, 当游戏等级提升时, 攻击力和生命值也相应的进行提升. 这样我就可以在setLevel的方法中, 同时设置生命值和攻击力,
* 而如果我设置level为public的话, 我就不能保证设置level的同时, 攻击力和生命值也随之变化:
*/
public class Hero {
private int level;
private int attack;
private int hp;
public Hero() {}
public int getAttack() {
return attack;
}
public void setAttack(int attack) {
this.attack = attack;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
// 设置等级的同时,也相应的修改攻击力与生命值
int delta = level - this.level;
this.attack += delta * 5;
this.hp += delta * 20;
// -------------
this.level = level;
}
public int getHp() {
return hp;
}
public void setHp(int hp) {
this.hp = hp;
}
}
另外就是, 有些属性,我们不希望外面来改变它,它只是服务于内部,
这样我们设置为private
java私有成员变量的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java私有静态成员变量、java私有成员变量的信息别忘了在本站进行查找喔。
发布于:2022-11-25,除非注明,否则均为
原创文章,转载请注明出处。