Java 面向对象 之 封装方法

134 阅读1分钟
原文链接: click.aliyun.com

摘要: http://www.verejava.com/?id=16992728331734 /** 测试类的封装特性 类的封装特性就是, 将类的属性私有化private 然后提供公有的方法去访问 */ public class Encapsulation { publ...

www.verejava.com/?id=1699272…

/**
    测试类的封装特性
    类的封装特性就是, 将类的属性私有化private 然后提供公有的方法去访问
*/

public class Encapsulation {
    
    public static void main(String[] args) {
        //实例化Person 类
        //1. 引用对象不能访问类的私有属性
        //2. 如果要访问私有属性, 一般类中要另外提供访问私有属性的公有方法
        Person p = new Person();
        //p.name="李明";
        //p.age=22;
        p.setName("李明");
        p.setAge(22);
        p.say();
        System.out.println(p);
        System.out.println(p.getName() + " " + p.getAge());
    }
}

class Person {
    //实现类属性的封装 前面加 private 关键字
    private String name;
    private int age;

    //定义访问私有属性的公有方法
    //括号中 String name 是 方法setName 的传入参数
    public void setName(String name) {
        //this 代表当前对象的引用, 哪个对象引用该类,就是指的哪个引用
        System.out.println(this);
        this.name = name;
    }

    //String 是方法getName 的返回值的类型 输出返回值
    public String getName() {
        return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

    public void say() {
        System.out.println("我的名字叫:" + name + ",今年 " + age + " 岁");
    }
}
/*
    回顾总结
    1. 在类当中定义的变量叫成员变量, 属性就是成员变量, 可以在整个类当中访问
    2. 在方法中定义的变量叫局部变量, 只能在定义的方法当中访问
    注意: 当局部变量和成员变量同名的时候, 局部变量回覆盖掉成员变量,所以当两个变量同名时
    要区分成员变量必须加上 this
*/