java抽象变量

来源:百度知道 编辑:UC知道 时间:2024/06/08 11:43:02
package wangzhe.src;
abstract class A
{
abstract int min(int a,int b);
int max(int a,int b)
{
return a>b?a:b;
}
}
class B extends A
{
int min(int a,int b)
{
return a<b?a:b;
}
}

public class Example1
{
public static void main(String x[])
{
A a;
B b=new B();
int min=b.min(12, 34);
int max=b.max(12,34);
System.out.println("max="+max);
System.out.println("min="+min);
a=b;
max=a.max(12, 34);
System.out.println("max="+max);
}

}

class A
{

int max(int a,int b)
{
return a>b?a:b;
}
}
class B extends A
{
int min(int a,int b)
{
return a<b?a:b;
}
}

public class Example1
{
public static void main(String x[])
{
A a;
B b=new B();

这两个 代码的功能应该是一样的
不过第一例子中 classB 继承的是抽象类classA那么它就必须实例话classA中的int min(int a,int b)抽象方法。如果不想实例话那么classB 只能写成抽象类 要不会报错
而例子二中 继承的是个普通的类就算是不写min(int a,int b)方法也是对的 就这个区别
小弟学的不是很精只能说出这点来