private与有参构造方法

来源:7-1 什么是 Java 中的封装

Icarus_174098084

2016-10-13 16:16

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

写回答 关注

3回答

  • 慕课朵颐3509194
    2016-11-16 15:22:14

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

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

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

  • 一本正经3780807
    2016-10-13 17:08:23

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

    例如:

    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原理

  • 慕先生7465831
    2016-10-13 17:05:49

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

    第二个问题请提供代码。

Java入门第二季 升级版

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

530636 学习 · 6091 问题

查看课程

相似问题