私有对象和列表

问题描述 投票:0回答:2

为什么实例化对象的封装从未被定义?

Duck duck = new Duck();

这是否会将所有对象设置为每个定义的默认值,从而可以随处访问?

此外,列表在实例化时通常不设置为私有,这是否有原因?

List<Ducks> ducks = new ArrayList<>();

我理解你的批评,我确实理解什么是封装。 明天我必须在 3 位老师面前展示一个巨大的网站,并想知道为什么当实例化列表/对象封装从未定义时我们将所有其他属性设置为私有。感谢您认真的回答

Point originOne = new Point(23, 94);
Rectangle rectOne = new Rectangle(originOne, 100, 200);
Rectangle rectTwo = new Rectangle(50, 100);

例如java教程中的这三个对象。它们的封装(私有/公共/受保护)从未被声明过

java private instantiation encapsulation
2个回答
2
投票

只有实例(和静态类变量)变量可以是私有的(方法和类也是如此),并且您自己将它们设置为私有。

public class Pond {
    private Duck duck;
}

访问修饰符不在方法中使用,仅在字段上使用,因为方法中声明的变量仅在该方法中使用和访问。

如果您有像上面代码中那样的实例变量,它的可见性取决于修饰符。

public
意味着任何人都可以访问它等等:https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html


0
投票

谁能告诉我们这个声明的目的是什么——私人鸭鸭;

还有 为什么我们要这样创作??

© www.soinside.com 2019 - 2024. All rights reserved.