初学者
Java中有关类的一些概念
java有两种多态,方法重载与方法重写。
方法重载:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,要么个数不同,要么类型不同
下面这个例子可以很容易看出。
class AS
{
double a(byte x, int y)
{
return x + y;
}
double a(int x, int y)
{
return x * y;
}
}
public class fourth
{
public static void main(String args[])
{
AS b = new AS();
double value1 = b.a((byte)2, 3);
double value2 = b.a(2, 3);
System.out.println(value1);
System.out.println(value2);
}
}
输出:
5.0
6.0
方法重写:子类可以重写父类方法,但重写不可以降低方法的访问权限
class AS
{
protected double a(int x, int y)
{
return x * y;
}
}
class ASS extends AS
{
public double a(byte x, int y) //重写方法不可降低方法的访问权限,若改为 double a(byte x, int y), 则不合法。
{
return x + y;
}
}
public class fourth
{
public static void main(String args[])
{
AS b = new AS();
ASS b1 = new ASS();
double value1 = b.a(2,3);
double value2 = b1.a((byte)2, 3);
System.out.println(value1);
System.out.println(value2);
}
}输出结果:
6.0
5.0
子类与父类的继承:二者在同一个包中,除了private,其他类型的变量和方法都可以继承
不在同一个包,public,protected类型的变量和方法可以继承
final关键字 : final类不能被继承,final方法不允许被子类重写
abstract类也可以没有abstract方法
如果一个类是抽象类的子类,它必须重写抽象类的抽象方法
abstract class AS
{
abstract int f(int a, int b);
}
class ASS extends AS
{
int f(int a, int b)
{
return a * b;
}
}
public class fourth
{
public static void main(String args[])
{
// AS b = new AS() 不合法,抽象类不能够创建对象
ASS b1 = new ASS();
double value2 = b1.f(2, 3);
System.out.println(value2);
}
}输出:
6.0