为了账号安全,请及时绑定邮箱和手机立即绑定

private与有参构造方法

类里面加了private,那有参的构造方法还能正常运行,这怎么理解?创建phone2时候赋的值是赋给phone2对象的screen?这个screen到底是类的变量还是对象的变量,还是类与对象共有的变量?

正在回答

3 回答

private是针对本类的外部而言,在本类外部不能访问。

构造函数是本类内部的函数,可以访问任意权限的数据。

在类中(非成员函数中)定义的没加static的变量属于对象。

0 回复 有任何疑惑可以回复我~

问的好,第一个问题:在类里的私有变量,在有参数的构造方法能够正常运行,

例如:

public class Animal {
    private String type;


public static String name;
    public Animal(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }
}


第二个问题,关于类的变量和对象的变量问题,基本上说的类变量 是指 static关键字标注的变量如上例的name,可以不声明变量直接引用,如类名+变量名 :Animal.name;

对象的变量就是我们平时声明的public 或者 private ,protected的变量,

具体内容请多参看JVM原理

0 回复 有任何疑惑可以回复我~

第一个问题,构造方法针对的是整个类,而这个private 你修饰的变量仍旧是这个类里面的,所以能正常运行。

第二个问题请提供代码。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530553    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

private与有参构造方法

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信