在一次采访中,我问过这个问题,面试官让我在java中编写一个简单的Hello World程序。这是我写的代码。
class Greeting
{
public static void main(String[] args)
{
System.out.print("Hello World!");
}
}
然后我被问到这个代码实现了哪些OOP概念。我认为它使用继承,因为默认情况下每个java类都扩展了Object类。但是想知道是否在这里使用其他OOP概念,如果是,那么如何?
答案 0 :(得分:0)
可见性修饰符不是OOP。关于这一点唯一的OOP是它是Java,你用静态方法创建了一个类结构。
从技术上讲,所有未显式扩展的对象都是正确的 - 隐式扩展Object类。
class Greeting // class
{
public static void main(String[] args) // method (default entry)
{
System.out.print("Hello World!");
}
}
它与C(这是一种命令式语言)没有多大区别,唯一的区别是类封装包装器。
#include<stdio.h>
main() { // function (default entry)
printf("Hello World!");
}
答案 1 :(得分:-1)
如果你实现了类似的东西,你可以有更多机会解释OOP概念。
public class EnglishGreeting extends Greeting
{
private final String HELLO_WORLD_MESSAGE = "Hello World!";
public String getHelloWorldMessage() {
return HELLO_WORLD_MESSAGE;
}
}
public class SpanishGreeting extends Greeting
{
private final String HELLO_WORLD_MESSAGE = "¡Hola Mundo!";
public String getHelloWorldMessage() {
return HELLO_WORLD_MESSAGE;
}
}
public class Main
{
public static void main(String[] args) {
Greeting englishGreeting = new EnglishGreeting();
Greeting spanishGreeting = new SpanishGreeting();
System.out.print(englishGreeting.getHelloWorldMessage());
System.out.print(spanishGreeting.getHelloWorldMessage());
}
}
<xsl:template match="div[@id='container-4']/div[starts-with(@class,'df-width-40')]">
<xsl:copy-of select="div[@id='container-5']/div[@class='df-width-100']/div" />
</xsl:template>
<xsl:template match="div[@id='container-5']/div[@class='df-width-100']">
<xsl:copy-of select="div[@id='container-4']/div[@class='df-width-40']/div" />
</xsl:template>
答案 2 :(得分:-1)
经典之作:
永远不要使用它:
class Greeting
{
public static void main(String[] args)
{
System.out.print("Hello World!");
}
}
始终使用此:
class Greeting
{
public static void main(String[] args)
{
new Greeting().hi();
}
private void hi(){
System.out.print("Hello World!");
}
}
这是一个简单的答案:-)但是,在你的代码中你应该使用静态上下文。