java中认识多态和多态的好处

多态是在继承/实现情况下的一种现象,表现为:行为多态,对象多态

public class Teacher extends People {
    public String name = "子类的名字";
    @Override
    public void run() {
        System.out.println("老师跑的气喘吁吁!");
    }
    public void teach(){
        System.out.println("老师需要教书!");
    }
}
public class Student  extends  People{
    public String name = "子类的名字";
    @Override
    public void run(){
        System.out.println("学生跑的很快!");}
        public void test(){
            System.out.println("学生需要考试");
        }
    }
public class People {
    public String name ="父类的名字";
    public void run(){

        System.out.println("人可以跑!");
    }
}

1、对象多态(People Student People Teacher)

public class Test {
    public static void main(String[] args) {
        //目标:认识多态,对象多态,行为多态
        //1.对象多态
        People p1 = new Teacher();
        p1.run();//识别技巧。编译看左边,运行看右边!
        People p2 =new Student();
        p2.run();

2.行为多态:同一个方法,有不同的表现行式

多态的好处:

1.多态可以实现耦合,右边对象可以随意切换

People p1 = new Teacher();

People p1 = new Student();

2.可以使用父类类型的变量作为形参,可以接受一切子类对象 

   
public class Test {
    public static void main(String[] args) {
People p1 = new Teacher();
       System.out.println( p1.name);//变量看父类!左边,输出的是父类People的name

public static void go(People p){

   }

注意:

多态无法直接调用子类的独有功能,需要进行强制类型转换,例如Student里的test

People p2= new Student

p2.test();//报错

需要:Student p3 = (Student)p2//强制类型转换

p3.test(); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值