学逆向论坛

找回密码
立即注册

只需一步,快速开始

发新帖

76

积分

0

好友

3

主题
发表于 2023-9-11 11:35:17 | 查看: 3991| 回复: 1
变量
1.1 什么是变量
   顾名思义就是可以改变的一个量
   在我们上个帖子的学习中,可以发现我会经常使用一些设定好的值比如
int intTest = 123;
    在上面的代码中 intTest是一个我们定义好的常量
    那么怎么定义一个变量呢,其实也很简单,我们只需要把我们的等于号后面的删掉就,它就是一个变量啦
int intTest;
   我们来看这个变量,其中 int 是该变量的类型,intTest是该变量的变量名
   那当我们要定义一个布尔类型的一个变量、该变量的名字叫isDeleted要怎么定义呢

   也很简单,请看下面
boolean isDeleted;
   这样我们就定义好了一个变量了


1.2 局部变量全局变量
1.2.1 局部变量
      局部变量其实就是在某一个局部中定义的变量
      那么我们看下面的代码
public class TestClass {

        public static void main(String[] args) {
                variableTest();
        }

        // 定义测试变量方法
        public static void variableTest() {
                // 定义一个整形变量
                int helloWordLenth;
                // "helloWord".length() : 获取字符串helloWord的长度,也就是获取helloWord有几个字符
                // 给变量赋值
                helloWordLenth = "helloWord".length();
                System.out.println(helloWordLenth);
        }
}
      输出结果
9
      我们可以看到局部变量的定义就是这么简单
1.2.1 全局变量
      全局变量又称为成员变量 一般我们来进行跨类之间的访问经常会用到
      成员变量的定义
      话不多说直接看代码
      我们在AgeClass.java中定义一个名为age,类型为int的成员变量
public class AgeClass {

        /**
         * 年龄
         */
        public int age;

}
      在我们的TestClass.java中,代码如下
public class TestClass {

        public static void main(String[] args) {
                // 在使用其他类中的变量之前,要new一个该类
                AgeClass ageClass = new AgeClass();
                // 定义一个name 值为小明
                String name = "小明";
                // 调用其他类中的age变量,给该变量重新赋值
                ageClass.age = 22;
                System.out.println(name + "的年龄是" + ageClass.age);
        }
}
      输出结果
小明的年龄是22
      当我们使用其他类中的成员变量的时候,直接调用并且赋值,这样的风险会很大,因为其他所有类中都可以直接访问并赋值,安全性会有问题

      这时候我们就需要将该类中的成员变量的访问类型定义为private,并且要为该变量定义两个public的方法,名字为get和set方法,代码如下
public class AgeClass {

        /**
         * 年龄
         */
        private int age;

        public int getAge() {
                return age;
        }

        public void setAge(int age) {
                this.age = age;
        }

}
      然后我们重新编写TestClass.java类中的方法
public class TestClass {

        public static void main(String[] args) {
                // 在使用其他类中的变量之前,要new一个该类
                AgeClass ageClass = new AgeClass();
                // 定义一个变量用来接取其他类中赋值之后的变量
                int mingAge;
                // 定义一个name 值为小明
                String name = "小明";
                // 调用其他类中的setAge方法,给该变量重新赋值
                ageClass.setAge(22);
                // 赋值之后使用getAge方法来进行值的获取
                mingAge = ageClass.getAge();
                System.out.println(name + "的年龄是" + mingAge);
        }
}
      这样子写虽然说会有一点小麻烦,但是整个project的安全性会大大提升

以上
如果有哪些东西不是很清楚的话
大家可以添加我的QQ来进行技术探讨
QQ : 2677582007


温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的认可,还可以获得学币奖励,请尊重他人的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。

    发表于 2024-6-11 11:31:50
    看了LZ的帖子,我只想说一句很好很强大!

    小黑屋|手机版|站务邮箱|学逆向论坛 ( 粤ICP备2021023307号 )|网站地图

    GMT+8, 2024-11-21 21:20 , Processed in 0.129190 second(s), 41 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表