学习笔记-封装、就近原则和this关键字

封装是面向对象编程的一个基本原则,它意味着将对象的状态(数据)和行为(方法)打包在一起,并隐藏对象的内部实现细节。封装可以通过访问修饰符(如 privatepublicprotected)来控制类成员的可见性。

对象代表什么,就得封装相应的数据,并提供数据对应的行为。人开门,人调用门 开门或者关门的方法。

封装还可以告诉我们,如何正确设计对象的属性和方法

就近原则:

        当成员变量与局部变量同名时,如果在方法内部使用该变量名,Java会首先查找当前作用域(即方法内部)的局部变量。

        如果当前作用域内没有找到同名变量,Java会继续向外层作用域(如类体内部)查找,直到找到为止。

        这就是为什么“就近原则”被称为“就近”——Java会选择离当前使用位置最近的变量。

this关键字:

        为了区分成员变量和局部变量,Java提供了this关键字。通过this.变量名的方式,可以明确引用成员变量。

        例如,如果有一个成员变量age和一个同名局部变量age,在方法内部使用this.age就可以引用成员变量age。

例子:

package day2;

public class GirlFriend {
    //private防止被别的类直接调用,为了成员变量的安全性
    private String name;
    private int age;

    //get获取
    public String getName() {
        return name;
    }

    //set赋值
    public void setName(String name) {
        //this.name表示左侧name是当前GirlFriend的变量,即是上面定义的name
        //右侧name根据就近原则,哪个近是哪个,所以是setName的形参
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        //判断年龄
        if (age >= 18 && age <= 50) {
            this.age = age;
        } else {
            System.out.println("年龄过大");

        }
    }

    public void sleep() {
        System.out.println(name + "在睡觉");
    }

    public void play() {
        System.out.println(name + "在玩游戏");
    }
}
package day2;

public class GirlFriendTest {
    public static void main(String[] args) {
        //创建 GirlFriend 类 的对象
        GirlFriend gf = new GirlFriend();

        gf.setName("小月");
        String gfName = gf.getName();
        System.out.println(gfName);

        gf.setAge(19);
        int gfAge = gf.getAge();
        System.out.println(gfAge);

        gf.sleep();
        gf.play();

    }
}

PS:IDEA可以用 ALT+insert直接生成 get()set() 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值