zoukankan      html  css  js  c++  java
  • 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());
        }
    }

    输出如下:



  • 相关阅读:
    利用JavaScript制作网页中“选项卡”效果。 (二)
    Threading and UI
    我不太喜欢的一篇文章: [真爱无言]
    坚持,习惯,自然
    6行代码实现无组建上传(转)
    【转帖】20个你未必知道的CSS技巧
    CSS Filter 代替 图片 实现 渐变背景效果。
    Microsoft Excelに...
    ATM机的故事
    利用JavaScript制作网页中“选项卡”效果。 (三)——终极应用 JavaScript tabifier
  • 原文地址:https://www.cnblogs.com/longesang/p/10997518.html
Copyright © 2011-2022 走看看