62,623
社区成员
发帖
与我相关
我的任务
分享SuperClass z = new SubClass2(); public static void main(String arge[]) {
SuperClass x = new SuperClass();
SuperClass y = new SubClass1();
SuperClass z = new SubClass2();
x.doSomething();
y.doSomething(); //y.doSth1(); 这里错了
z.doSomething(); // z.doSth2(); 着了错了
}class SuperClass {
public SuperClass() {
}
public SuperClass(String s) {
s = " ";
}
public void doSomething() {
System.out.println("这是SuperClass输出的!");
}
public void doSth1() {
// TODO Auto-generated method stub
}
}
class SubClass1 extends SuperClass {
public void doSomething() {
System.out.println("这是SubClass1输出的!");
}
public void doSth1() {
System.out.println("这是doSth1输出的!");
}
}
class SubClass2 extends SuperClass {
public void doSomething() {
System.out.println("这是SubClass2输出的!");
}
public void doSth1() {
System.out.println("这是doSth2输出的!");
}
}
public class testLayer {
public static void main(String arge[]) {
SuperClass x = new SuperClass();
SuperClass y = new SubClass1();
SuperClass z = new SubClass2();
x.doSomething();
y.doSomething();
z.doSomething();
y.doSth1();
z.doSth1();
}
}class SuperClass {
public SuperClass() {
}
public SuperClass(String s) {
s = " ";
}
public void doSomething() {
System.out.println("这是SuperClass输出的!");
}
}
class SubClass1 extends SuperClass {
public void doSomething() {
System.out.println("这是SubClass1输出的!");
}
public void doSth1() {
System.out.println("这是doSth1输出的!");
}
}
class SubClass2 extends SuperClass {
public void doSomething() {
System.out.println("这是SubClass2输出的!");
}
public void doSth2() {
System.out.println("这是doSth2输出的!");
}
}
public class testLayer {
public static void main(String arge[]) {
SuperClass x = new SuperClass();
SuperClass y = new SubClass1();
SuperClass z = new SubClass2();
SubClass1 a = new SubClass1();
SubClass2 b = new SubClass2();
x.doSomething();
y.doSomething();//父类的方法被屏蔽了,调用的是子类里的方法
z.doSomething();//父类的方法被屏蔽了,调用的是子类里的方法
//y.doSth1();这里是不可见的,所以不能调用
//z.doSth2();这里是不可见的,所以不能调用
a.doSth1();
b.doSth2();
}
}