ada*_*ava -4 java oop overriding
这很好用
class A
{
public void f1(int x) {
System.out.println("F1 of A");
}
}
class B extends A
{
public void f1(int x) {
System.out.println("F1 of B");
}
}
public class Overriding {
public static void main (String[] args) {
A obj = new B(); //No Error
obj.f1(7);
}
}
Run Code Online (Sandbox Code Playgroud)
但这给出了一个错误
class A
{
public void f1(int x) {
System.out.println("F1 of A");
}
}
class B extends A
{
public void f1(int x) {
System.out.println("F1 of B");
}
}
public class Overriding {
public static void main (String[] args) {
B obj1 = new A(); // error: incompatible types: A cannot be converted to B
obj1.f1(7);
}
}
Run Code Online (Sandbox Code Playgroud)
java中创建一个类的对象并用其他类的引用变量引用它是什么概念?
小智 5
当你创建一个继承另一个类的字段和方法的新类时,你创建的对象需要是父类的类型。
如果您有一个班级Shape和另一个班级extends,请说Circle:
您可以创建Shapeof 类型Circle,但不能创建Circleof 类型Shape。Shape不保证具有半径、周长、直径等函数和字段...
Oracle 有一些关于继承的非常有用的教程,我建议您阅读:https ://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html