多态(重载和覆盖) 继承

2017-09-02  本文已影响0人  B萌面超人

重载:

同一个类中的许多方法可以拥有同一个名字,只要他们的参数声明不同即可

覆盖:

子类重新实现了父类中的方法(继承)

多态规则:

1.方法名一定要一样

2.传入的参数一定要不一样

3.当父类的引用指向子类的对象时,调用一个方法 而这个方法 恰好又被子类所重写,此时调用的方法是子类的方法。

   父类的引用调用属性时,调用自己的属性。

4.如果引用前加上final修饰符,但这个引用一旦指向了某个对象,指向不能改变,

代码:

//多态

public class student {

//父类中的方法

void print(){

System.out.println("这是小明同学");

}

void print(String name){

System.out.println(name + "是小明的同学");

}

void print1(){

System.out.println("这是父类中的一个函数");

}

public static void main(String[] args) {

student stu = new student();

student1 stu1 = new student1();

stu.print();

stu.print("tom");

System.out.println("-----------");

stu1.print();

//----------------------------

student stu2 = new student2();

stu2.print1();

}

}

//继承student

class student1 extends student{

//覆盖父类的print方法

void print(){

System.out.println("这是小明的同学");

System.out.println("他很优秀");

}

}

class student2 extends student{

void print(){

System.out.println("这是学生的一个函数");

}

void print1(){

System.out.println("这是学生的另一个函数");

}

}

注意:studentClass(父类) studentMen(子类) 

如果父类中没有这个方法 而在子类中出现这个方法

studentClass stu = new stuClassMen();指向子类 只能操作子类中的方法 stu是父类的数据类型。
那么stu不可以调用这个方法 ,
只能调用父类中有而被子类覆盖的方法。

上一篇 下一篇

猜你喜欢

热点阅读