package com.tencent.test;
abstract class A {
/**
* @param args
*/
public abstract void f(int x);
public abstract void g(int x,int y);
public abstract double h(double x);
}
class A1 extends A{
public void f(int x){
System.out.println(x);
}
@Override
public void g(int x, int y) {
// TODO Auto-generated method stub
System.out.println(x+y);
}
@Override
public double h(double x) {
// TODO Auto-generated method stub
return x;
}
}
class A2 extends A{
public void g(int x,int y){
System.out.println(x+y);
}
@Override
public void f(int x) {
// TODO Auto-generated method stub
System.out.println(x);
}
@Override
public double h(double x) {
// TODO Auto-generated method stub
return x;
}
}
class A3 extends A{
public double h(double x){
return x;
}
@Override
public void f(int x) {
// TODO Auto-generated method stub
System.out.println(x);
}
@Override
public void g(int x, int y) {
// TODO Auto-generated method stub
System.out.println(x+y);
}
}
public class E {
public static void main(String [] args){
A a=new A1();
a.f(6);
a.g(1, 7);
System.out.println(a.h(1.1));
A b=new A2();
b.f(7);
b.g(2, 8);
System.out.println(b.h(1.2));
A c=new A3();
c.f(8);
c.g(3, 9);
System.out.println(c.h(1.1));
}
}

abstract class A {
/**
* @param args
*/
public abstract void f(int x);
public abstract void g(int x,int y);
public abstract double h(double x);
}
class A1 extends A{
public void f(int x){
System.out.println(x);
}
@Override
public void g(int x, int y) {
// TODO Auto-generated method stub
System.out.println(x+y);
}
@Override
public double h(double x) {
// TODO Auto-generated method stub
return x;
}
}
class A2 extends A{
public void g(int x,int y){
System.out.println(x+y);
}
@Override
public void f(int x) {
// TODO Auto-generated method stub
System.out.println(x);
}
@Override
public double h(double x) {
// TODO Auto-generated method stub
return x;
}
}
class A3 extends A{
public double h(double x){
return x;
}
@Override
public void f(int x) {
// TODO Auto-generated method stub
System.out.println(x);
}
@Override
public void g(int x, int y) {
// TODO Auto-generated method stub
System.out.println(x+y);
}
}
public class E {
public static void main(String [] args){
A a=new A1();
a.f(6);
a.g(1, 7);
System.out.println(a.h(1.1));
A b=new A2();
b.f(7);
b.g(2, 8);
System.out.println(b.h(1.2));
A c=new A3();
c.f(8);
c.g(3, 9);
System.out.println(c.h(1.1));
}
}

本文通过Java代码展示了抽象类的定义及其多个子类的具体实现过程,包括方法覆盖和不同子类对抽象方法的不同实现方式。示例中包含了抽象类A及其实现类A1、A2和A3,每个类都实现了特定的功能。
2936

被折叠的 条评论
为什么被折叠?



