「java私有成员变量」java私有静态成员变量

博主:adminadmin 2022-11-25 00:21:05 42

今天给各位分享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私有成员变量的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-25,除非注明,否则均为首码项目网原创文章,转载请注明出处。