package notebook; class Fruit{ public Fruit() { System.out.println("fruit"); } } class Apple extends Fruit{ public Apple(){ } public Apple(String s) { System.out.println("apple"); } } class Mcintosh extends Apple{ public Mcintosh() { System.out.println("mcintosh"); } } public class chouxiang { public static void main(String[] args) { // TODO Auto-generated method stub Fruit fruit = new Mcintosh(); } } 什么意思
时间: 2024-04-11 14:28:27 浏览: 20
这段代码定义了一个包名为`notebook`的Java类。在这个类中,有一个`Fruit`类和它的子类`Apple`,还有`Apple`的子类`Mcintosh`。`Fruit`类有一个无参构造方法,用于输出字符串"fruit"。`Apple`类继承自`Fruit`类,它有一个无参构造方法和一个带有字符串参数的构造方法,其中无参构造方法为空,而带有字符串参数的构造方法输出字符串"apple"。`Mcintosh`类继承自`Apple`类,它有一个无参构造方法,用于输出字符串"mcintosh"。
在`chouxiang`类的`main`方法中,创建了一个`Fruit`类型的对象`fruit`,并实例化为`Mcintosh`类的对象。这是因为多态性的特性,父类类型的引用可以指向子类类型的对象。当创建对象时,会先调用父类的构造方法,再调用子类的构造方法。所以在输出结果中,首先会打印出"fruit",然后打印出"mcintosh"。
所以,输出结果为:
```
fruit
mcintosh
```
相关问题
用logger.之后system.out.println无法解析system
你可以尝试使用以下代码来替换 `System.out.println()`:
```
import java.util.logging.Logger;
public class MyClass {
private static final Logger LOGGER = Logger.getLogger(MyClass.class.getName());
public static void main(String[] args) {
LOGGER.info("Your message here");
}
}
```
使用 `java.util.logging.Logger` 可以更好地控制日志输出,并且可以方便地将日志输出到文件中。
public class Fruit { String name; String color; int size; void eat() { System.out.println("It is delicious."); } void make() { System.out.println("apple pan."); } void use() { System.out.println("物种--" + name); System.out.println("颜色--" + color); System.out.println("尺寸--" + size); } } class Test { public static void main(String[] args) { Fruit apple = new Fruit(); apple.name = "苹果"; apple.color = "可红可青"; apple.size = 7; apple.use(); apple.eat(); apple.make(); } }
这段代码是一个Java程序,定义了一个Fruit类和一个Test类。Fruit类包含了三个属性:水果名称(name)、颜色(color)和尺寸(size),以及三个方法:吃(eat)、制作(make)和使用(use)。Test类包含了一个main方法,用于创建一个Fruit对象(apple),并为其属性赋值,最后调用对象的方法输出相关信息。具体来说,输出了苹果的物种、颜色、尺寸,以及吃和制作的相关信息。