一、继承
在java中,继承是一个很重要的概念,因为java是一种面向对象的编程语言,而对象往往具有共同的属性和方法,那么我们可以将它们抽象成一个类,而当其他对象也包含这些属性时和方法,他们可以通过继承这个类来构造他们需要的对象。
一个简单的例子:
用播放器对象共享的属性和方法抽象播放器类
Aotoma和Master(子类)都有播放器属性和方法,通过extends关键字继承播放器类(父类)
通过这个例子构造方法没有返回类型,我们总结一下继承格式:
class 子类 extends 父类{
...
}
通过继承,我们可以
①提高代码的复用性;
②父类的属性和方法可以在子类中使用; (子类可以直接调用父类的方法和继承的属性,如果需要修改父类的方法,则可以重写该方法。注意:子类调用方法时,子类在父类(即子类覆盖此方法),先调用子类中的方法,如果没有构造方法没有返回类型,当然调用父类中的方法)
③子类也可以扩展父类的属性和方法; (即方法覆盖)
这里既然提到了方法覆盖,那我就简单说一下吧:
/*
**方法重写,定义一个无敌玩家类
*/
public class Invicible extends Player{
public void pk(Player pla)//根据需要,子类可以重写父类的方法
{
System.out.println(name+"的血量无敌,可以pk掉所有玩家,包括" +pla.name);
}
}
子类可以有与超类同名的方法,如果它们符合覆盖规范,就会发生覆盖。
方法重写的规范包括:
方法名相同;参数列表相同(包括参数个数、类型、顺序相同);返回类型相同;子类方法访问修饰符不能小于父类方法的访问修饰符。
二、构造方法
作为对比,我们知道常用方法的格式是:
访问修饰符 返回值类型 方法名(参数类型 参数名,...){
方法具体实现
}
例如:
public void Set(int pos){
//......
}
而构造方法格式为:
访问修饰符 类名(参数类型 参数名,...){
//...
}
例如:
public Set(int pos){
//......
}
从这里我们可以看到:
此外,我们可以了解它的使用它来发现它的其他功能:
构造函数可以实例化对象;构造函数可以使用参数列表传递参数。
三、方法重载
方法重载发生在继承的子类中,但是如果一个类中有两个方法名相同的方法,叫什么? ——方法重载
适用场景:在同一个类中,需要创建方法名相同、参数不同(参数类型、参数个数、参数顺序)的方法,以适应不同的输入需求和输出。需要。
一个简单的例子
public int max(int x,int y){
if(x>y)
return x;
else
return y;
}//已经存在的一个求两个整型数的最大值的方法
如果需要三个整数或两个数的最大值为double类型等,需要Perform method override
public int max(int x,int y,int z){
return (max(x,y),z);
}//求三个整数最大值的方法
public double max(double x,double y){
if(x>y)
return x;
else
return y;
}
请登录后发表评论
注册
社交帐号登录