我根本不懂继承。 据我所知,继承意味着子类或子类可以“继承”或检索?来自其父类/父类(super class)的方法和值。
我有点明白了this example ,但我还是不太清楚。
如果我在动物、鸟类和狗中放置一个 if 语句,也会得到一个 if 语句吗?
这是实际的代码,我没有完成主类的最后一部分,因为它对我来说有点清楚。
另外,System.out.println()
在主类中到底在做什么,它是否打印所有字符串?
为什么当我单独运行这些类时,实际上没有打印出任何内容,但是当我运行主类时,所有内容都会打印出来?
public class Animal {
public Animal() {
System.out.println("A new animal has been created!");
}
public void sleep() {
System.out.println("An animal sleeps...");
}
public void eats() {
System.out.println("An animal eats...");
}
}
然后是鸟
public class Bird extends Animal {
public Bird() {
super();
System.out.println("A new bird has been created!");
// TODO Auto-generated constructor stub
}
public void sleep() {
System.out.println("A bird sleeps...");
}
public void eats() {
System.out.println("A bird eats...");
}
}
然后是狗
public class Dog extends Animal {
public Dog() {
super();
System.out.println("A new dog has been created!");
// TODO Auto-generated constructor stub
}
public void sleep() {
System.out.println("A dog sleeps...");
}
public void eats() {
System.out.println("A dog eats...");
}
}
然后这个主类
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
Animal animal = new Animal();
Bird bird = new Bird();
Dog dog = new Dog();
System.out.println();
}
}
最佳答案
我会尝试用最简单的方式解释:
Animal
是父类(super class)
。
每个动物
都 sleep
和吃
,所以这些方法都在父类(super class)
当您创建特定动物的对象时。
Animal animal = new Animal();
调用 Animal
的构造函数打印:
System.out.println("A new animal has been created!");
Bird bird = new Bird();
在 super()
之后调用 Bird
的构造函数,转到 Animal
的构造函数,因此打印两个 sysouts
Dog dog = new Dog();
与狗类似
System.out.println() 在主类中到底做了什么?
它实际上什么也没做。如果将其删除,代码仍会打印。 尝试一下。
关于java - 继承示例解释、编码和方法等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27508119/