前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java中 private关键字 详细用法及解释

Java中 private关键字 详细用法及解释

作者头像
黎鹤舞
发布2024-03-19 15:18:25
1440
发布2024-03-19 15:18:25
举报

Java中 private关键字 详细用法及解释

一、为什么要使用private

​ 出于 安全性考虑,我们在写字段时,尽量考虑采用 封装,这样可以隐藏类的细节,只对外开放接口即可实现对象之间的交互。

二、private关键字的定义

  • private是 一个访问限定修饰符
  • 可修饰的的范围:
    1. 修饰成员变量: 表示当前成员变量只能在当前类中使用
    2. 修饰成员方法: 表示当前成员方法只能在当前类中使用

附:访问限定修饰符图表

三、private代码的实例

修饰成员变量时:
代码语言:javascript
复制
class Person {
    private String name = "张三";
    int age = 18;
}

class Student extends Person {

    public String gender;
}
public class Test {


    //private关键字测试
    public static void main(String[] args) {

        Person person = new Person();
        Person p = new Student();

        //编译均无法通过,因为String name 属性被 private修饰
        System.out.println(person.name);
        System.out.println(p.name);
    }

如下:

那么如何让其他类使用到private的成员变量呢?

​ 我们可以创建一个 public 方法,在方法里 仅return 被private修饰的变量

​ 这里我们用getName() 方法来传递name的值;

代码语言:javascript
复制
class Person {
    private String name = "张三";
    int age = 18;

    //用来传递private修饰的name的值
    public String getName() {
        return name;
    }
}

public class Test {


    //private关键字测试
    public static void main(String[] args) {

        Person person = new Person();

        System.out.println(person.getName());
    }

​ 同理,如果我们想对private修饰的变量进行赋值,可以建立一个setName()方法

代码语言:javascript
复制
class Person {
    private String name = "张三";
    int age = 18;

    //用来传递private修饰的name的值
    public String getName() {
        return name;
    }

    //用来修改private修饰的name的值
    public void setName(String name) {
        this.name = name;
    }
}

public class Test {


    //private关键字测试
    public static void main(String[] args) {

        Person person = new Person();

        System.out.println("修改之前:" + person.getName());
        person.setName("李四");
        System.out.println("修改之后:" +person.getName());
    }
}

运行结果如图:

注: 如果你使用的集成开发环境是IDEA,那么可以使用快捷键快速创建 Getter and setter函数

如果点击 Getter and Setter,编译器会自动创建好上述两个方法; 如果只想创建Getter 或 是Setter方法,只用点击上面的 Getter 或者是 Setter就可以了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java中 private关键字 详细用法及解释
    • 一、为什么要使用private
      • 二、private关键字的定义
        • 三、private代码的实例
          • 修饰成员变量时:
      相关产品与服务
      腾讯云服务器利旧
      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档