//还可以写在main外面
interface product{
public void getName();
}
class productA implements product {
@Override
public void getName() {
// TODO Auto-generated method stub
System.out.println("++++A++++");
}
}
class productB implements product{
@Override
public void getName() {
// TODO Auto-generated method stub
System.out.println("++++++B++++++");
}
}
class createProduct{
public product create(String type) {
if("A".equals(type))
return new productA();
else if("B".equals(type))
return new productB();
else
return null;
}
}
public class factory {
public static void main(String args[]){
createProduct create = new createProduct();
create.create("A").getName();
create.create("B").getName();
}
}
主类main方法里面可以有不带public的子类 但是不能有接口
接口写在主类的外面 但是不能带public interface product{
public void getName();
}
public class factory {
public static void main(String args[]){
class productA implements product {
@Override
public void getName() {
// TODO Auto-generated method stub
System.out.println("++++A++++");
}
}
class productB implements product{
@Override
public void getName() {
// TODO Auto-generated method stub
System.out.println("++++++B++++++");
}
}
class createProduct{
public product create(String type) {
if("A".equals(type))
return new productA();
else if("B".equals(type))
return new productB();
else
return null;
}
}
createProduct create = new createProduct();
create.create("A").getName();
create.create("B").getName();
}
}
分享到:
相关推荐
带目录分类,按题目展示,共计近2000个常见Java面试题。例如: 问:什么是Java程序的主类?...应用程序的主类不一定要求是public类,但小程序 的主类要求必须是public类。主类是Java程序执行的入口点。
用于类时,该类不能有子类。 【Java程序基础】 1. `main`方法:Java Application的主类必须包含`main`方法,它是程序的入口点。`main`方法的签名应为`public static void main(String[] args)`。 2. Java Applet...
实例方法可以直接调用本类的静态方法或父类的静态方法,但不能直接调用其他类的实例方法,除非创建了相应类的对象。 #### 16. 类之间的关系 `class Student extends Person`表示`Student`类继承自`Person`类,体现...
main()方法是一个静态方法,它不依赖于类的实例就能被调用。定义了main()方法的类称为主类。编写Java应用程序时,主类的声明通常如下: ```java public class MainClass { public static void main(String[] args)...
- **接口**:只能有抽象方法(从 Java 8 开始可以有默认方法和静态方法)。 **25. abstract 的 method 是否可同时是 static, 是否可同时是 native,是否可同时是 synchronized?** - **是否可同时是 static**:不...
3. **方法重载的实现**:在给定的代码段中,要实现方法重载,新方法需要与原方法有不同的参数列表。因此,正确答案是B,因为它改变了参数的数量但保持了相同的名称。 4. **构造函数**:构造函数是与类同名的特殊...
**答案解析**: Java中标识符可以由字母、数字、下划线(_)和美元符号($)组成,但是不能以数字开头。因此选项D“11”是错误的,因为它以数字开头,不符合Java标识符命名规则。 #### 题目2 **题目**: 有一段java...
- Java中,虽然私有静态变量不能被类的实例直接访问,但是可以通过类名直接访问。 - 在本例中,`hs1.x++` 和 `hs2.x++` 实际上是在访问类 `HasStatic` 的静态变量 `x`。 - 最终 `x` 的值增加了3次然后减去1次,...
- 运行Java程序的命令是`java`,后面跟类名,不带`.java`或`.class`后缀。 - 编译Java源代码的命令是`javac`,需要带上`.java`文件名。 - 当运行Java小程序(Applet)时,需要使用`appletviewer`命令,对于HTML...
main()方法的头部必须是固定的`public static void main(String[] args)`,不能随意修改。选项C错误。对象的创建可以在main()之外,只要能访问到即可。选项D错误。 5. Java开发工具版本: - Java ME(Micro ...
- 主类(包含`main`方法的类)可以使用`public`访问控制符。 21. Java与C++对比: - Java是纯面向对象的,不兼容C/C++。 - Java没有指针,但有引用。 22. 初始化静态属性: - 需要使用`static final`修饰符...
11. **Java Application主类**:Java应用程序的主类通常包含`main`方法,即`public static void main(String[] args)`,它是程序执行的入口点。 12. **静态初始化器**:静态初始化器是Java中类级别的初始化代码块,...
继承机制使得子类可以直接访问父类的方法和属性,但也可以覆盖或扩展它们的功能。 #### 2. 继承与重写 ```java class A extends S { float x; // 构造函数 A(int b, float c) { n = b; x = c; } // 成员...
6. 一个Java应用程序可以由一个或多个类组成,Java Application至少包含一个主类,主类中定义了一个名为`main`的方法,这是程序执行的入口点。 7. `java.exe`是JDK下的解释器,用于执行Java程序。 8. 声明数组`int...
- 当运行Java程序时,首先需要使用`java`命令加载相应的字节码文件,并确保其中包含一个带有`public static void main(String[] args)`签名的方法作为程序的入口点。 - **Java语言的设计者**:Java语言最初由Sun ...
23. Java Application的主类main方法的返回类型是void,表示不返回任何值。 24. 不允许作为类及类成员的访问控制符是static,因为它与类的实例化无关,而public、private和protected是访问控制符。 25. 通过实现...