Java 面向对象 之 封装方法

简介:

http://www.verejava.com/?id=16992728331734

/**
    测试类的封装特性
    类的封装特性就是, 将类的属性私有化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
*/

http://www.verejava.com/?id=16992728331734

目录
相关文章
|
7天前
|
Java
Java基础语法与面向对象
重载(Overload)指同一类中方法名相同、参数列表不同,与返回值无关;重写(Override)指子类重新实现父类方法,方法名和参数列表必须相同,返回类型兼容。重载发生在同类,重写发生在继承关系中。
55 1
|
9天前
|
Java 开发者
Java 函数式编程全解析:静态方法引用、实例方法引用、特定类型方法引用与构造器引用实战教程
本文介绍Java 8函数式编程中的四种方法引用:静态、实例、特定类型及构造器引用,通过简洁示例演示其用法,帮助开发者提升代码可读性与简洁性。
|
2月前
|
算法 Java 开发者
Java 项目实战数字华容道与石头迷阵游戏开发详解及实战方法
本文介绍了使用Java实现数字华容道和石头迷阵游戏的技术方案与应用实例,涵盖GUI界面设计、二维数组操作、游戏逻辑控制及自动解法算法(如A*),适合Java开发者学习游戏开发技巧。
196 46
|
18天前
|
存储 Java 关系型数据库
Java 项目实战基于面向对象思想的汽车租赁系统开发实例 汽车租赁系统 Java 面向对象项目实战
本文介绍基于Java面向对象编程的汽车租赁系统技术方案与应用实例,涵盖系统功能需求分析、类设计、数据库设计及具体代码实现,帮助开发者掌握Java在实际项目中的应用。
40 0
|
2月前
|
安全 Java 编译器
Java面向对象
本文深入讲解了Java面向对象编程(OOP)的四大特性:封装、继承、多态与抽象,以及方法的设计与使用。通过示例展示了如何用类和对象组织代码,提升程序的可维护性与扩展性。
|
2月前
|
算法 Java
Java语言实现链表反转的方法
这种反转方法不需要使用额外的存储空间,因此空间复杂度为,它只需要遍历一次链表,所以时间复杂度为,其中为链表的长度。这使得这种反转链表的方法既高效又实用。
190 0
|
2月前
|
存储 Java 数据处理
Java映射操作:深入Map.getOrDefault与MapUtils方法
结合 `getOrDefault`方法的简洁性及 `MapUtils`的丰富功能,Java的映射操作变得既灵活又高效。合理地使用这些工具能够显著提高数据处理的速度和质量。开发人员可以根据具体的应用场景选择适宜的方法,以求在性能和可读性之间找到最佳平衡。
102 0
|
2月前
|
缓存 人工智能 NoSQL
Java中实现Token设置过期时间的方法
本文介绍了在Java应用中实现Token设置过期时间的多种方法,包括使用JWT和Redis缓存,并结合定时任务清理过期Token,以提升系统安全性与用户隐私保护。
267 0
|
3月前
|
存储 Java 测试技术
Java基础 - 面向对象
面向对象编程是Java的核心,包含封装、继承、多态三大特性。封装隐藏实现细节,提升代码可维护性与安全性;继承实现类间IS-A关系,支持代码复用;多态通过继承、重写与向上转型,实现运行时方法动态绑定,提升系统扩展性与灵活性。
|
3月前
|
安全 Java API
Java 集合高级应用与实战技巧之高效运用方法及实战案例解析
本课程深入讲解Java集合的高级应用与实战技巧,涵盖Stream API、并行处理、Optional类、现代化Map操作、不可变集合、异步处理及高级排序等核心内容,结合丰富示例,助你掌握Java集合的高效运用,提升代码质量与开发效率。
207 0