相关疑难解决方法(0)

最终类中的受保护与包私有

我将以此作为序言,我相信我了解访问级别修饰符在 Java 中的工作原理。我的问题与在最终类中使用时受保护和包私有(无修饰符)之间的区别有关。

据我了解:

  • 如果你将一个类声明为final,你就无法扩展它,这意味着它不会有任何子类

  • 如果不向方法添加修饰符(包私有),则该方法仅在其自己的包中可见

  • 如果您声明一个受保护的方法,则该方法只能在其自己的包中访问(与包私有一样),此外,还可以由另一个包中的该类的子类访问

我的问题是,如果你的类是final类,package-private和protected之间有什么区别吗?Final修饰符使得不能有任何子类,所以看起来另一个包中不能有子类。这意味着无论哪种情况,它都只会在自己的包中可见。

在最后一堂课上,两者之间有区别吗?

如果没有区别,是否应该使用其中一个而不是另一个,或者这并不重要?

java

5
推荐指数
1
解决办法
2660
查看次数

将属性保护/私有的任何性能原因?

我在学校"学习"了C++,但有几件我不知道的事情,比如编译器可以优化的地方或内容,似乎我已经知道了,inline并且const可以提升一点......

如果性能是一个重要的东西(例如游戏编程),那么放置类属性不是public(privateprotected)允许编译器制作更优化的代码吗?

因为我之前的所有老师都在说它更"安全"或"防止不想要或授权的类访问/行为",但最后,我想知道放置属性是否public可以限制范围,从而加固事物.

我不批评我的老师(我应该),但我所在的编程班不是很先进......

c++ private class protected public

3
推荐指数
1
解决办法
2087
查看次数

`public/protected/private`关键字对性能有影响吗?

据我所知,public/protected/private关键字对创建时间没有影响.但我想知道保持公共对象/类可访问应该有成本.它有成本吗?

java performance access-modifiers

2
推荐指数
2
解决办法
371
查看次数

标签 统计

java ×2

access-modifiers ×1

c++ ×1

class ×1

performance ×1

private ×1

protected ×1

public ×1