• 7.5 this关键字的使用;标准学生类的编写 、构造方法的格式


    /*
    * 学生类
    *
    * 起名字我们要求做到见名知意。
    * 而我们现在的代码中的n和a就没有做到见名知意,所以我要改进。
    *
    * 如果有局部变量名和成员变量名相同,在局部使用的时候,采用的是就近的原则。
    * 我们有没有办法把局部变量的name赋值给成员变量的name呢?
    * 有。
    *
    * 什么办法呢?
    * 用this关键字就可以解决这个问题
    *
    * this:代表所在类的对象引用
    * 方法被哪个对象调用,this就代表那个对象
    *
    * 使用场景:
    * 局部变量隐藏成员变量
    */





    /*
    * 构造方法:
    * 给对象的数据进行初始化
    *
    * 格式:
    * 方法名和类名相同
    * 没有返回值类型,连void都不能写
    * 没有具体的返回值
    *
    * 构造方法的注意事项:
    * A:如果我们没有给出构造方法,系统将会提供一个默认的无参构造方法供我们使用。
    * B:如果我们给出了构造方法,系统将不在提供默认的无参构造方法供我们使用。
    * 这个时候,如果我们想使用无参构造方法,就必须自己提供。
    * 推荐:自己给无参构造方法
    * C:构造方法也是可以重载的
    *
    * 成员变量赋值:
    * A:setXxx()方法
    * B:带参构造方法
    */


    public class ThisDemo {
        private String name;
        private int age;
    
        //1.构造方法:
        public ThisDemo() {}
        public ThisDemo(String name,int age) {
            this.name = name;
            this.age = age;
        }
    
        //2.成员方法:
        public void setName(String name) {
    //        name = name;
            this.name = name;
        }
    
        public String getName() {
            return name;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public int getAge() {
            return age;
        }
    
    }
    public class ThisUse {
        public static void main(String[] args) {
            //1.带参构造
            ThisDemo t2 = new ThisDemo("小明",15);
            System.out.println(t2.getName()+","+t2.getAge());
    
            //2.无参+setXxx()
            ThisDemo t = new ThisDemo();
            t.setName("林青霞");
            t.setAge(28);
            System.out.println(t.getName()+","+t.getAge());
        }
    }

    输出如下:



  • 相关阅读:
    Windows快捷键使用技巧
    windows 开机启动设置快捷方式
    MySQL如何下载win32的库文件
    C/C++ MySQL API调用
    mysql_error list
    SSL/TLS数字证书各种格式解释
    linux常用命令(持续更新)
    【原创】Huatuo热更框架之手把手部署
    【Linux】使用Google Authenticator 实现ssh登录双因素认证
    如何查看debian dpkg包 的内容?
  • 原文地址:https://www.cnblogs.com/longesang/p/10997518.html
Copyright © 2020-2023  润新知