如果一个类实现了另一个类,那是什么意思?我找到了以下代码示例:http
:
//www.java2s.com/Code/Php/Class/extendsandimplement.htm
但不幸的是,它没有任何解释…
实现是指它采取接口指定的指定 行为 。考虑以下接口:
public interface ISpeak
{
public String talk();
}
public class Dog implements ISpeak
{
public String talk()
{
return "bark!";
}
}
public class Cat implements ISpeak
{
public String talk()
{
return "meow!";
}
}
无论是Cat
和Dog
类实现的ISpeak
接口。
接口的优点在于,我们现在可以通过ISpeak
接口引用此类的实例。考虑以下示例:
Dog dog = new Dog();
Cat cat = new Cat();
List<ISpeak> animalsThatTalk = new ArrayList<ISpeak>();
animalsThatTalk.add(dog);
animalsThatTalk.add(cat);
for (ISpeak ispeak : animalsThatTalk)
{
System.out.println(ispeak.talk());
}
该循环的输出为:
吠!
喵!
接口提供基于他们的东西一个通用的方法与类交互的手段 做 不暴露的实现类是什么。
例如,在Java中使用的最常见的接口之一是Comparable
。如果您的对象实现此接口,则可以编写一个实现,供消费者用来对您的对象进行排序。
例如:
public class Person implements Comparable<Person>
{
private String firstName;
private String lastName;
// Getters/Setters
public int compareTo(Person p)
{
return this.lastName.compareTo(p.getLastName());
}
}
现在考虑以下代码:
// Some code in other class
List<Person> people = getPeopleList();
Collections.sort(people);
该代码的作用是为Person
该类提供自然的排序。因为我们实现了Comparable
接口,所以我们能够利用该Collections.sort()
方法按照对象的自然顺序(在本例中为姓)List
对Person
对象进行排序。
问题内容: 我玩了一段时间我的代码,这不是关于错误或任何东西,但我只是不明白为什么main()类不需要初始化就可以运行… 但是,是的,非常感谢您的阅读。 问题答案: 与许多其他语言不同,类主体是Python中的可执行语句,并在解释器到达该行后立即执行。当您运行此“程序”时: 它只是打印“嘿”而没有创建任何对象。 这同样适用于函数定义语句(但不适用于函数体)。运行此命令时: 它显示“ hi”,但不显
问题内容: 我有一些类可以执行一些MySQL查询和准备好的语句。但是,我不知道如何在这些类中合并我的PDO对象。例如,我想做这样的事情: 不幸的是,它不起作用。有人可以建议一种优雅的方法吗?谢谢你的时间。抱歉,我是新手,如果您不清楚任何事情,请留下任何评论,我会尽力答复! 问题答案: 您可以在实现单例模式的类中实例化与数据库的连接。连接将完成一次,所有其他对象/脚本都可以轻松访问该类。 在下面的示
问题内容: 我有很多线程的应用程序。其中之一是烧瓶,用于实现(辅助)API。它使用时负载低,并且永远不会暴露在Internet上,因此内置flask Web服务器非常好。 我当前的代码如下所示: 我觉得我做错了,因为所有文档都说“在模块级别创建flask应用程序”。但是我不想这样做- 它与我的测试弄混了,并且API只是大型应用程序的一小部分,该应用程序具有自己的结构和协议(每个“应用程序”都是在一
Scala课堂是Twitter启动的一系列讲座,用来帮助有经验的工程师成为高效的Scala 程序员。Scala是一种相对较新的语言,但借鉴了许多熟悉的概念。 因此,课程中的讲座假设听众知道这些概念,并展示了如何在Scala中使用它们。我们发现这是一个让新工程师能够快速上手的有效方法。网站里的是伴随这些讲座的书面材料,这些文字材料本身也是很有用的。 方法 我们认为最有意义的教学方式是,不要把Scal
问题内容: 我正在使用登录功能,但是遇到了我无法弄清的错误。 这是我的模型登录类: 最后一个函数给出错误“ 在类中找不到方法’close’ ”,“ 在主题类中找不到引用的方法。 ” 这是我的数据库类: 路径是正确的,事实并非如此。可能是什么错误? 问题答案: PhpStorm无法确定您的字段是什么类型。您可以通过简单的PHPDoc注释提供typehint来提供帮助:
当一个类必须有某种对象的容器(集合)时,有几种选择,我想知道我更喜欢哪种实现。 以下是我找到的选项: 优点:AClass不依赖于集合的具体实现(在本例中为列表)。 缺点:AClass没有添加和删除元素的接口 优点:与IEnumerable相同,并且具有添加和删除元素的接口 缺点:ICollection接口定义了很少使用的其他方法,仅仅为了接口而实现这些方法是很无聊的。IEnumerable LIN