草庐IT

super_package

全部标签

Java : Expose only a single package in a jar file

我想要一个只有API包可以访问的jar文件。所有其他包(包含实现)将无法被另一个jar(或任何其他类)访问。这可能吗?如果是,怎么办? 最佳答案 当前计划用于Java8(2012年?)的是JSR294.此JSR将更好的模块化语言结构引入Java。Today,animplementationcanbepartitionedintomultiplepackages.Subpartsofsuchanimplementationneedtobemoretightlycoupledtoeachotherthantothesurrounding

java - 我应该创建静态方法还是抽象父类(super class)

我正在尝试重构一个项目,其中有相同的方法分布在各个类中。为了减少代码重复,我应该将公共(public)代码移到抽象父类(superclass)中,还是应该将其放在实用程序类的静态方法中?编辑有些方法适用于我认为可以静态化的通用内容。虽然还有其他引用类的属性,但在这种情况下,我认为将其作为抽象父类(superclass)更有意义。 最佳答案 好吧,我遵循一个规则:不要使用基类来删除代码重复,使用实用类。对于继承,问自己一个问题:是否存在Is-A关系?另一个在大多数情况下都是正确的规则是:优先使用组合而不是继承使用静态实用程序类不是真正

java.lang.VerifyError : (class: ea/Individual, method: <init> signature: (I)V) 构造函数必须调用 super() 或 this()

我在这个类中没有发现任何错误,但Netbeans在那个类中不断显示红色符号。类是/**Tochangethistemplate,chooseTools|Templates*andopenthetemplateintheeditor.*/packageea;/****@authorriyad*/importjava.util.Random;importjava.util.BitSet;publicclassIndividual{BitSetvariable;doublex;doublefitness;doublesharedFitness;finalintSIZE;Randomgener

java - 对 super() 的调用必须是构造函数主体中的第一条语句

我正在编写一个LoginRequest类的构造函数,它扩展了一个名为JsobObjectRequest的类(来自Android中的Volley框架,但这与问题完全无关)使用此代码:publicLoginRequest(Stringusername,Stringpassword,Response.ListenerresponseListener,Response.ErrorListenererrorListener){BooleanhasCredentials=(username!=null&&password!=null);intmethod=hasCredentials?Method

java - 内存如何分配给 lambda |它是如何被非父类(super class)引用变量引用的

我正在创建功能接口(interface)的实现,下面是我的代码:Consumerconsumer=newConsumer(){@Overridepublicvoidaccept(Integert){System.out.println(t);}};根据JavaDocumentation(javadoc)AvariableofaclasstypeTcanholdanullreferenceorareferencetoaninstanceofclassTorofanyclassthatisasubclassofT.在上面的代码中,创建了匿名对象,它是Consumer的子类,可以通过引用变量

java - 为什么在覆盖 finalize() 方法时首选调用 super.finalize()?

我收到SonarQube错误:“强烈建议在此方法实现结束时调用super.finalize(),以防父实现也必须释放一些系统资源。”但我发现Object类没有实现finalize方法。protectedvoidfinalize()throwsThrowable{}那么为什么需要调用super.finalize()呢? 最佳答案 这不是必须的,它是应该遵循的finalizer写成语。如果在未来的任何时候,您重构了您的代码并且您的类扩展了一些可能具有finalize方法的其他类,这种做法将防止出现奇怪的错误。成语是try{//Dowha

Java 自定义异常 : Package convention?

创建自定义异常类(例如自定义运行时异常)时,在文件夹/包结构中的何处创建它是否有特定约定?所有的自定义异常类都应该在同一个包中吗? 最佳答案 异常类应该总是定义在与能够抛出它的类相同的包中。永远不要创建一个单独的包来保存异常。一般来说,一个包应该封装一个主要的功能单元。异常是该功能的一部分。只应创建子包以限制对类和/或方法的访问。这是通过创建“包访问”类和/或方法来完成的:它们既不是公共(public)的,也不是protected,也不是私有(private)的。没有访问修饰符意味着它们只对同一包中的类可见。如果您没有任何此类类或方

.NET项目轻松配置:掌握Packages.props和Build.props的利用

 概述:`Directory.Packages.props`和`Directory.Build.props`是.NET项目中的配置文件,分别用于统一管理NuGet包引用和自定义MSBuild构建过程。它们提高了解决方案的可维护性,通过集中配置,简化了项目文件,使团队协作更一致,同时避免了在每个项目中重复相同的配置,提高了开发效率。在.NET开发中,Directory.Packages.props文件和Directory.Build.props文件都是用于配置和自定义项目构建行为的文件。它们可以用于在整个解决方案或特定项目中共享构建设置,从而简化项目文件的管理。Directory.Package

java - 在运行时,private、public、package 关键字之间有什么区别吗?

我知道Java在开发过程中有这些serval关键字来标识变量范围,但我想知道这在生产环境中是否有所不同,或者只是为了编码人员的兴趣?谢谢。 最佳答案 辅助功能也在运行时强制执行。如果某些代码试图访问它不应该访问的成员,则会抛出IllegalAccessException或IllegalAccessError。这是一个快速演示:publicclassAccessTest{publicintpublicNumber;privateintsecretNumber;}publicclassClient{publicstaticvoidmai

java - 为什么Java中可以将父类(super class)初始化为子类?

简而言之,这是如何以及为什么可能的:Objectobj=newMyClass();Object是所有对象的父类(superclass),因此MyClass是Object的子类。一般来说,在Java中,为什么可以在父类中使用子类的构造函数?我明白它怎么可能反过来,因为子类拥有父类的所有变量/方法,所以当你初始化它们时,你只是在初始化父构造函数中指定的变量,这些变量按定义存在于child。问题是,当你反过来时,它不一定是真的。子项可以拥有父项没有的变量,那么当父项一开始甚至没有变量时,如何将子项构造函数与父项一起使用?这个特性在开发中有什么用?我想如果你想要一个B类的实例,你会把它声明为B