我对编程很新,我有一个问题请帮助我.(这个问题是java问题,但我不记得语法,但我在这里写的主要是它.)
A class Person speaks "i am a person"
A class Student speaks "i am a student"
Student extends from Person
Person p = new Student
Run Code Online (Sandbox Code Playgroud)
那说什么是p呢?
Har*_*ded 12
p 只是变量,它不会改变其中的Object的类型.
你可以想到一个杯子:你可以在其中加入任何液体,但杯子不会改变液体类型.
abstract class Fluid{
public String getTemp(){
return "unknown";
}
}
class Coffee extends Fluid{
public String getTemp(){
return "hot";
}
}
class Cola extends Fluid{
public String getTemp(){
return "ice-cold"
}
}
Fluid cup = new Coffee();
System.out.println(cup.getTemp()); //It's coffe in there, so it's hot!
Run Code Online (Sandbox Code Playgroud)
我想我知道你的意思......
p会说他是学生,因为你会覆盖这个人所说的方法.在Java中,它应该如下所示:
class Person
{
public void speak()
{
System.out.println("I'm a person!");
}
}
class Student extends Person
{
@Override
public void speak()
{
System.out.println("I'm a student");
}
}
Run Code Online (Sandbox Code Playgroud)