/**
方法的重载 和 覆盖 (自己总结:重载是对每个类来说的,覆盖基本上是对于继承而言的)
*/
public class OverLoad_Ride{
public static void main(String[] args){
Person p1 = new Person(18,"熔岩巨兽");
//调用的 第一个say()
p1.say("double kill");
//第二个say()
p1.say(5);
Child c = new Child();
c.jiSuan(2,3);
}
}
//定义一个人类
class Person{
private int age;
private String name;
public Person(){
}
//构造方法 (主要用来对象初始化)
public Person(int age,String name){
this.age = age;
this.name = name;
}
//父类 中的 jiSuan 方法,子类将进行 覆盖
public String jiSuan(int i,int j){
System.out.println(i+j);
return "";
}
/**
方法的重载 (1,方法名要一样,2,主要看 参数是否一致[{类型,个数,顺序}不一致为重载],3,返回值类型不作为判断是否为重载的条件)
*/
//看参数
public String say(String str){
System.out.println("我的年龄是:"+this.age +" ;我的名字是:"+this.name+str);
return "";
}
//看参数(因为要在其他类中调用,修饰符只要不是private 就行)
protected void say(int i){
System.out.println("我的年龄是:"+this.age +" ;我的名字是:"+this.name+i);
}
//属性的get和set方法
public int getAge(){
return this.age;
}
public void setAge(int age){
this.age = age;
}
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
}
/**
定义一个小孩类 继承 Person 类
*/
class Child extends Person{
//覆盖 Person 中的 jiSuan()方法 (1.除了访问权限,其他的要和父类中方法一致 2.访问权限不能小于父类方法中的访问权限(可以相同))
public String jiSuan(int i,int j){
System.out.println("这就是覆盖"+(i+j));
return "";
}
}
java的重载(overload)和覆盖(override)简介
最新推荐文章于 2022-07-25 11:00:39 发布