草庐IT

Private_dirty

全部标签

java @SafeVarargs 为什么私有(private)方法需要是最终的

我在一个私有(private)的内部类中有一个私有(private)方法,我想使用SafeVarargs注释。但是,我需要有一个静态或final方法。为什么私有(private)方法也需要是最终的?这不是多余的吗? 最佳答案 这是多余的,你提出了一个很好的观点。我认为要求final或static的真正原因是强制该方法不能被覆盖,因此子类不能以使@SafeVarargs注释在定义上无用的方式篡改数据方法。但是,虽然它是多余的,但这并不是一个糟糕的决定——很多时候,程序员会尽可能地将每个方法设为私有(private),然后根据需要慢慢打

java @SafeVarargs 为什么私有(private)方法需要是最终的

我在一个私有(private)的内部类中有一个私有(private)方法,我想使用SafeVarargs注释。但是,我需要有一个静态或final方法。为什么私有(private)方法也需要是最终的?这不是多余的吗? 最佳答案 这是多余的,你提出了一个很好的观点。我认为要求final或static的真正原因是强制该方法不能被覆盖,因此子类不能以使@SafeVarargs注释在定义上无用的方式篡改数据方法。但是,虽然它是多余的,但这并不是一个糟糕的决定——很多时候,程序员会尽可能地将每个方法设为私有(private),然后根据需要慢慢打

java - 私有(private)类的公共(public)构造函数

这个问题在这里已经有了答案:Shouldwedeclareapublicconstructorwhentheclassisdeclaredaspackageprivate?(2个回答)关闭8年前。我是Java新手。我想知道private类中public构造函数的用途。类内部的私有(private)类可以从同一个类中初始化,那么将私有(private)类的构造函数设为public有什么用呢?publicclassMainActivityextendsActivity{privateclassAcceptThreadextendsThread{publicAcceptThread(){}}

java - 私有(private)类的公共(public)构造函数

这个问题在这里已经有了答案:Shouldwedeclareapublicconstructorwhentheclassisdeclaredaspackageprivate?(2个回答)关闭8年前。我是Java新手。我想知道private类中public构造函数的用途。类内部的私有(private)类可以从同一个类中初始化,那么将私有(private)类的构造函数设为public有什么用呢?publicclassMainActivityextendsActivity{privateclassAcceptThreadextendsThread{publicAcceptThread(){}}

java - 如何限制开发人员使用反射访问Java中的私有(private)方法和构造函数?

如何限制开发者使用反射访问Java中的私有(private)方法和构造函数?使用普通的Java代码,我们无法访问类之外的私有(private)构造函数或私有(private)方法。但是通过使用反射,我们可以访问Java类中的任何私有(private)方法和构造函数。那么我们怎样才能为我们的Java代码提供安全性呢? 最佳答案 使用SecurityManager运行您的应用程序和一个足够严格的securitypolicy.有一个shortsummaryinthetutorialthesecuritydocumentation中的大量信

java - 如何限制开发人员使用反射访问Java中的私有(private)方法和构造函数?

如何限制开发者使用反射访问Java中的私有(private)方法和构造函数?使用普通的Java代码,我们无法访问类之外的私有(private)构造函数或私有(private)方法。但是通过使用反射,我们可以访问Java类中的任何私有(private)方法和构造函数。那么我们怎样才能为我们的Java代码提供安全性呢? 最佳答案 使用SecurityManager运行您的应用程序和一个足够严格的securitypolicy.有一个shortsummaryinthetutorialthesecuritydocumentation中的大量信

java - 无法通过子类实例从自己的类访问私有(private)变量

classA{privateintfoo;voidbar(Bb){b.foo=42;}}classBextendsA{}编译失败,报错:A.java:3:error:foohasprivateaccessinAvoidbar(Bb){b.foo=42;}^1error向基类添加强制转换使其工作。voidbar(Bb){((A)b).foo=42;}有人能解释一下为什么第一个片段是非法的吗?被禁止的原因是什么?这是JLS说:Otherwise,thememberorconstructorisdeclaredprivate,andaccessispermittedifandonlyifit

java - 无法通过子类实例从自己的类访问私有(private)变量

classA{privateintfoo;voidbar(Bb){b.foo=42;}}classBextendsA{}编译失败,报错:A.java:3:error:foohasprivateaccessinAvoidbar(Bb){b.foo=42;}^1error向基类添加强制转换使其工作。voidbar(Bb){((A)b).foo=42;}有人能解释一下为什么第一个片段是非法的吗?被禁止的原因是什么?这是JLS说:Otherwise,thememberorconstructorisdeclaredprivate,andaccessispermittedifandonlyifit

java - 私有(private)接口(interface)方法的方法引用

考虑以下代码:publicclassA{publicstaticvoidmain(String[]args){Runnabletest1=((I)(newI(){}))::test;//compilesOKRunnabletest2=((newI(){}))::test;//won'tcompile}interfaceI{privatevoidtest(){}}}我真的不明白这一点...我知道test()方法是private。但是,如果我们将匿名类强制转换为它的接口(interface)((I)(newI(){})),会发生什么变化?更准确地说,我希望看到一个允许该技巧的特定JLS点。

java - 私有(private)接口(interface)方法的方法引用

考虑以下代码:publicclassA{publicstaticvoidmain(String[]args){Runnabletest1=((I)(newI(){}))::test;//compilesOKRunnabletest2=((newI(){}))::test;//won'tcompile}interfaceI{privatevoidtest(){}}}我真的不明白这一点...我知道test()方法是private。但是,如果我们将匿名类强制转换为它的接口(interface)((I)(newI(){})),会发生什么变化?更准确地说,我希望看到一个允许该技巧的特定JLS点。