封装,this,给成员变量赋值的方式(get(),构造方法):

1.private:

(1)私有的意义,可以修饰成员变量和成员方法
(2)特点:
    被private修饰的后的成员只能在本类中被访问
(3)private的应用:
    以后再写一个类的时候:
        把所有的成员变量给private了
        提供对应的getXxx()/setXxx()方法

2.构造函数(构造方法):

    (1)作用:用于对对象的数据进行初始化
    (2)格式:
        A:方法名和类名相同
        B:没有返回值类型,连void都不能有
        C:没有返回值

    思考题:构造方法中可不可以有return语句呢?
        可以。而是我们写成这个样子就OK了:return;
        其实,在任何的void类型的方法的最后你都可以写上:return;
    (3)构造方法的注意事项
    A:如果我们没写构造方法,系统将提供一个默认的无参构造方法
    B:如果我们给出了构造方法,系统将不再提供默认构造方法
        如果这个时候,我们要使用无参构造方法,就必须自己给出。
        推荐:永远手动自己给出无参构造方法。
    (4)给成员变量赋值的方式
    A:setXxx()
    B:带参构造方法

3.封装:

(1)隐藏实现细节,提供公共的访问方式
(2)好处:
    A:隐藏实现细节,提供公共的访问方式
    B:提高代码的复用性
    C:提高代码的安全性
(3)设计原则
    把不想让外界知道的实现细节给隐藏起来,提供公共的访问方式
(4)private是封装的一种体现。
    封装:类,方法,private修饰成员变量
自我理解:就是把代码封装成方法,把成员变量,成员方法封装成类,private把成员变量封装成私有的。
   由此可以private只是封装的一种形式

4.this:

(1)代表当前类的引用对象
    记住:哪个对象调用方法,该方法内部的this就代表那个对象
(2)this的应用场景:
    A:解决了局部变量隐藏成员变量的问题
    B:其实this还有其他的应用,请看专题总结

标准案例:


        class Student {
            //私有成员变量
            private String name;
            private int age;
            //空参构造
            public Student(){}
            //有参构造
            public Student(String name,int age) {
                this.name = name;
                this.age = age;
            }
            //获取值
            public String getName() {
                return name;
            }
            //设置值
            public void setName(String name) {
                this.name = name;
            }

            public int getAge() {
                return age;
            }

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

        测试:
        class StudentDemo {
            public static void main(String[] args) {
                //方式1
                Student s1 = new Student();
                s1.setName("林青霞");
                s1.setAge(27);
                System.out.println(s1.getName()+"---"+s1.getAge());

                //方式2
                Student s2 = new Student("刘意",30);
                System.out.println(s2.getName()+"---"+s2.getAge());
            }
        }

猜你喜欢

转载自blog.csdn.net/My_CODEart/article/details/78820812