Java-private,static关键字和构造方法

本文详细介绍了Java中private关键字的应用,包括如何实现封装、提供get和set方法以控制访问。同时深入探讨了static关键字的概念及其使用场景,比如静态变量与成员变量的区别,并通过实例演示了静态方法和变量的调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

private关键字

  • 封装可以用private实现,封装是指隐藏对象特定的属性和实现细节,对外仅提供公共的访问方式,也就是私有化。

  • private是一个权限修饰符,可以修饰成员变量和成员方法,被修饰的成员只能在本类中访问,其他类中不能通过对象名调方法访问, 但是private提供了get和set方法,给外界提供了设置和得到属性值得方法,用对象名去调用set和get方法即可。

private String name;//将姓名私有化
public String getName() {
    return this.name;//设置一个getName的方法
    }
public void setName(String name) {
    this.name = name;//设置一个setName的方法
    }
//在以下的测试类中调用这两种方法

//只有创建对象才可以调用方法

Student p=new Student();
        p.setName("王小明");//设置姓名
    String name = p.getName();//得到姓名
    System.out.println(name);

static关键字

  • static知识点
//学生类中的静态成员变量和成员方法
public static String place;

    public static void show() {
        System.out.println("这是一个静态方法");

    }
//测试类

    /*static是静态状态修饰词
     * 随着类的加载而加载,优先于对象而存在,简单来说,就是static先随着类加载,然后再加载对象
     * static可以修饰成员变量,成员方法
     * 被static修饰的东西有两种方式调用
     * a.类名.静态成员
     * b.创建一个对象,通过对象名去调用(不推荐,繁琐)
     */

    //a
    Student.place="北京";
    System.out.println(Student.place);

    //b
    Student student = new Student();
    student.place="西安";
    System.out.println(student.place);

    /*需要注意的是,静态的只能访问静态的
     * 非静态的可以访问非静态的,也可以访问静态的。
     * 所以一定要记住的是,静态方法只能访问静态的成员变量和成员方法
     */
    Student.show();//非静态的两者都可以访问

    //Test2.add();//会提示将add方法改成static的
    }

    public  void add() {
        // TODO Auto-generated method stub
        System.out.println("非静态");

    }

    /*static和this不能共存,前面说过,static随着类的加载而加载
     * 然而this是指调用的对象,是随着对象的创建而产生的(new出来的)
     * 所以static一定比this产生的早,如果你在static中运用this
     * 也一定会报错
     * 
     */
  • 静态变量和成员变量的区别:
    (静态变量是被静态所修饰的)
    1.加载时机的不同,静态变量,随着类的加载而加载,成员变量随着对象的创建而存在
    2.所属不同:静态变量属于这个类(类变量),成员变量属于对象
    3.存储位置的不同:静态变量存在方法区的共享区,成员变量存在堆内存
    4.消失的时机的不同:静态变量随着类的消失而消失,成员变量随着对象的消失而消失
    5.使用方式的不同:成员变量,通过对象去调用,静态变量 通过类名去调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值