Tag: 方法

为什么我不能在接口中声明静态方法?

这个主题说的最多 – 静态方法不能在接口中声明的原因是什么? public interface ITest { public static String test(); } 上面的代码给了我下面的错误(在Eclipse中,至less):“接口方法ITest.test()的非法修饰符;只允许public和abstract”。

我可以在不包含它的情况下调用Ruby模块的实例方法吗?

背景: 我有一个模块,它声明了一些实例方法 module UsefulThings def get_file; … def delete_file; … def format_text(x); … end 我想从一个class级中调用这些方法中的一些。 通常你如何在ruby中这样做是这样的: class UsefulWorker include UsefulThings def do_work format_text("abc") … end end 问题 include UsefulThings从UsefulThings 所有的方法。 在这种情况下,我只希望format_text并明确不希望get_file和delete_file 。 我可以看到几个可能的解决scheme: 以某种方式直接在模块上调用方法,而不在任何地方包含它 我不知道如何做到这一点。 (因此,这个问题) 不知何故包括Usefulthings ,只能引入一些方法 我也不知道如何做到这一点 创build一个代理类,包括UsefulThings ,然后委托format_text到该代理实例 这将工作,但匿名代理类是一个黑客。 呸。 将模块分成2个或更多个较小的模块 这也是可行的,也许是我能想到的最好的解决scheme,但我宁愿避免它,因为我最终会扩大几十个和几十个模块 – pipe理这将是负担繁重 为什么单个模块中有很多不相关的function? 它是一个来自Rails应用程序的ApplicationHelper ,我们的团队事实上已经决定将这个应用程序作为任何不属于任何其他地方的具体事物的倾倒地。 大多数独立的实用程序方法,到处使用。 我可以把它分解成单独的助手,但是会有30个,每个都有1个方法…这看起来没有什么效果

反思:如何用参数调用方法

我想通过参数reflection调用一个方法,我得到: 对象与目标types不匹配 如果我调用没有参数的方法,它工作正常。 如果我调用Test("TestNoParameters")方法,基于下面的代码,它工作正常。 但是,如果我打电话Test("Run") ,我得到一个例外。 我的代码有问题吗? 我最初的目的是传递一个对象数组,如public void Run(object[] options)但这不起作用,我尝试了一些简单的,如string没有成功。 // Assembly1.dll namespace TestAssembly { public class Main { public void Run(string parameters) { // Do something… } public void TestNoParameters() { // Do something… } } } // Executing Assembly.exe public class TestReflection { public void Test(string methodName) { Assembly assembly = Assembly.LoadFile("…Assembly1.dll"); […]

Java方法名称何时太长?

在过去的几个星期里,我看到一些人使用真正的长名称作为Method或Class(50个字符),这通常是在提高可读性的前提下,我认为像这样一个长名字是我们如果我们需要如此长的名字,试图在方法类中做很多或太多的事情,但是我想知道你们对此有什么看法。 一个例子是: getNumberOfSkinCareEligibleItemsWithinTransaction

如何在Objective-C中传递多个参数?

我已经阅读了几篇有关Objective-C方法语法的文章,但我想我不明白一个方法的多个名字。 我试图创build一个名为getBusStops与NSString和NSTimeInterval参数和返回types的NSMutableArray 。 这是我如何构build的方法,但它显然在运行时得到错误: – (NSMutableArray *)getBusStops:(NSString *)busStop (NSTimeInterval *)timeInterval; 我看到另一个方法的例子: -(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component 我不明白为什么这个方法有每个参数的方法名称。 我是否应该像这样做: – (NSMutableArray *)getBusStops:(NSString *)busStop forTime:(NSTimeInterval *)timeInterval

界面方法中的最后一个参数 – 有什么意义?

在Java中,在接口方法中定义final参数是完全合法的,不要在实现类中遵守这个参数,例如: public interface Foo { public void foo(int bar, final int baz); } public class FooImpl implements Foo { @Override public void foo(final int bar, int baz) { … } } 在上面的例子中, bar和baz在类VS接口中有相反的final定义。 以同样的方式,当一个类方法扩展另一个时,没有final限制,无论是abstract还是非abstract 。 当final方法体内部有一些实用的值时,有没有指定final方法的参数?

如何显示对象的所有方法?

我想知道如何列出可用于对象的所有方法,例如: alert(show_all_methods(Math)); 这应该打印: abs, acos, asin, atan, atan2, ceil, cos, exp, floor, log, max, min, pow, random,round, sin, sqrt, tan, …

为什么某些函数在函数名称前后有下划线“__”?

这似乎发生了很多,并想知道这是否是Python语言的要求,还是仅仅是一个约定的问题? 另外,有人可以命名和解释哪些函数往往有下划线,为什么( __init__ ,例如)?

列表视图getListItemXmlAttributes方法失败,并具有子发布项目

我已经创build了一个JS类来填充SG /文件夹列表视图数据,当项目被修改。 ( 按照Jaime的方法)当我操作创build出版物中的项目时,一切都很好。 例如:我打开一个组件或页面, locked by列locked by的自定义立即更新并显示我的用户名。 然而,当我去一个儿童出版物,并重复这个过程,我得到的窗口,问我是否要本地化或编辑父项。 如果我select编辑父窗口,代码不起作用。 我还没有完全想到它与初步debugging。 Chrome似乎吞噬了这个错误,Firefox给了我一个神秘的: 时间戳:6/22/2012 3:42:54 PM 错误:未捕获exception:[exception…]组件返回失败代码:0x80004002(NS_NOINTERFACE)[nsIWebProgress.DOMWindow]“nsresult:”0x80004002(NS_NOINTERFACE)“位置:”JS框架:: chrome:// browser / content / tabbrowser .xml :: :: line 545“data:no] 有没有人有任何初步的想法? 我会尽量后来发布一些代码… 来自PageEx.js的代码: Type.registerNamespace("MyCompany.Tridion.RTFExtensions"); /* * Constructor */ MyCompany.Tridion.RTFExtensions.PageEx = function (id) { Type.enableInterface(this, "MyCompany.Tridion.RTFExtensions.PageEx"); this.addInterface("Tridion.ContentManager.Page", [id]); var p = this.properties; p.versionNumberString = undefined; p.modifiedBy = undefined; p.lockedBy […]

什么是关键字在Java中的void方法做的?

我正在寻找一个path查找教程 ,我注意到一个void方法(class PathTest ,126行)中的return语句: if ((x < 0) || (y < 0) || (x >= map.getWidthInTiles()) || (y >= map.getHeightInTiles())) { return; } 我是Java的新手。 谁能告诉我为什么在那里? 据我所知, return里面的一个void方法是不允许的。