标签: access-modifiers

为什么在通用DAO接口中使用方法的默认访问?

我在浏览时找到了通用DAO接口的代码:

public interface GenericDAO<T, ID extends Serializable> {

    Class<T> getEntityClass();

    T findById(final ID id);

    List<T> findAll();
    List<T> findByExample(final T exampleInstance);

    List<T> findByNamedQuery(
        final String queryName,
        Object... params
    );

    List<T> findByNamedQueryAndNamedParams(
        final String queryName,
        final Map<String, ?extends Object> params
    );

    int countAll();

    int countByExample(final T exampleInstance);

    T save(final T entity);

    boolean delete(final T entity);
}
Run Code Online (Sandbox Code Playgroud)

是否有任何理由特别留下具有默认访问修饰符的方法(类/包:是,子类/世界:否)?

PS:一个补充问题.ID通常是在不依赖于RDBMS(XML,平面文件......)的实现中找到的吗?

java dao default access-modifiers generic-interface

0
推荐指数
1
解决办法
390
查看次数

错误不一致的可访问性 - C#

对不起我的英语不好提前.我正在为大学的一个项目制作一个游戏并且卡在这个部分,我必须在一个集合中保存每个游戏的所有玩家名字.所以我得到了这两个课程

class Score
{
 ...
}
class ScoreList
{
  public List<Score> NamesList = new List<Score>();

  public ScoreList()
    {}
  public void addScorePlayers(string nom1, string nom2)
  {
    Score part = new Score(player1, player2);
    NamesList.Add(part);
  }
}
Run Code Online (Sandbox Code Playgroud)

然后我在表单中创建一个对象

public partial class FormCreateScoreList : Form
{
    public static ScoreList Names = new ScoreList();
    .....
    .....
}
Run Code Online (Sandbox Code Playgroud)

然后在另一种形式中,我将两个玩家的名字添加到ScoreList中

public partial class FormCreateScoreScreen : Form
{
  FormCreateScoreList.obj.addScorePlayers("Player1","Player2")
}
Run Code Online (Sandbox Code Playgroud)

但是当我调试时,错误就出现了

  "Inconsistent accessibility: parameter type 'FinalProject.ScoreList' is less accessible than method 'FinalProject.FormCreateScoreList.Names'"
Run Code Online (Sandbox Code Playgroud)

请帮助,我不知道如何使用我在另一个表单上创建的对象中的方法

c# public access-modifiers

0
推荐指数
1
解决办法
81
查看次数

方法是否有可能具有双重访问修饰符?

我有很多内部定义的方法,如下所示:

internal static string GetAJobShaNaNaNaShaNaNaNaNaNa(string Silhouettes)
Run Code Online (Sandbox Code Playgroud)

但是,为了从添加到解决方案的测试项目中调用它们,我需要将其访问修饰符从内部更改为公共.

是否有一种非常繁琐的方法可以将这些方法公开用于测试,但仍然是内部的?

c# access-modifiers internal test-project test-framework

0
推荐指数
1
解决办法
98
查看次数

在Dart中,静态成员,最终成员和const成员在编译时有什么区别?

就像标题所暗示的那样,在Dart中,编译时的static,final和const有什么区别?

它们何时计算,何时为每种类型分配内存?大量使用静态变量会导致性能问题或OOM吗?

access-modifiers dart flutter

0
推荐指数
1
解决办法
965
查看次数

pub 结构属性上的“结构的字段‘0’是私有的”错误

0pub 结构属性上的“结构字段是私有的”错误

在板条箱中

pub struct A(String, String);

pub struct C {
    pub b: Vec<A>,
}
Run Code Online (Sandbox Code Playgroud)

在主函数()中

...iter().map(|my_tuple:&A| (my_tuple.0.parse::<f64>().unwrap()));


Run Code Online (Sandbox Code Playgroud)

当属性为 pub、结构体为 pub 并且父结构体为 pub 时,为什么会出现“struct is private”错误?

syntax tuples module access-modifiers rust

0
推荐指数
1
解决办法
2906
查看次数

当从同一个类的公共方法返回时,为什么我能够在其他类的公共方法中修改私有成员

我能够从其他类的main方法更新类实例的私有成员.为什么我被允许这样做.它是否喜欢,它使用"ref"关键字?

我尝试使用"ref"关键字进行修改.

using System;

namespace Test2
{
    class A
    {
        private int a=10; 
        public ref int M() 
        {
            return ref a;
        }
        virtual public void display()
        {
            Console.WriteLine("class A");
        }
    }
    class B:A
    { 

    }
    class Program
    {  
        static void Main(string[] args)
        {
            B b = new B();
            ref int a = ref b.M();
            Console.WriteLine(a);
            a = 20;
            Console.WriteLine(b.M());
            Console.ReadKey();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# access-modifiers private-members c#-7.0

0
推荐指数
1
解决办法
200
查看次数

访问修饰符对扩展功能有什么影响?

如果将扩展功能的访问修饰符更改为,将会发生什么private?有效果吗?有关系吗?!

private fun String.myExtensionFunction() { // ... }

extension-methods function access-modifiers kotlin extension-function

0
推荐指数
1
解决办法
39
查看次数

获取案例类中父类的属性

如果我有一个继承另一个类的案例类,如下所示

  class Person(name: String) {

  }

case class Male() extends Person("Jack") {
  def f = super.name // Doesn't work 

}
Run Code Online (Sandbox Code Playgroud)

如何从 Male 类获取 name 属性?

inheritance scala field class access-modifiers

0
推荐指数
1
解决办法
793
查看次数

为什么不能隐式实现非公共接口成员?

界面:

interface IMyInterface{
  internal int Property {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

班级:

public class MyClass: IMyInterface{
  internal int Property {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

结果: CS8704 错误:MyClass 未实现接口成员 Property.get MyClass 无法隐式实现非公共成员。

为什么我必须显式实现接口?

c# access-modifiers c#-8.0

0
推荐指数
1
解决办法
1442
查看次数

功能的默认访问级别

可能的重复:
如果您不使用访问标识符,那么该调用什么方法?

VB.NET或C#中的函数的默认访问级别是什么?

例:

VB.NET

Function GetFoo() as Foo
    Return New Foo()
End Function
Run Code Online (Sandbox Code Playgroud)

C#

foo GetFoo()
{
    return new Foo();
}
Run Code Online (Sandbox Code Playgroud)

我知道默认情况下,类是私有的。如果未指定任何内容,成员仅继承其父母的访问级别吗?

.net c# vb.net access-modifiers

-1
推荐指数
1
解决办法
2069
查看次数